⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cyrf6936.h

📁 cypress6936无线收发器avr驱动
💻 H
📖 第 1 页 / 共 2 页
字号:
typedef union tag_union_cyrf6936_reg_framing_cfg_adr {
	U8 byte;
	struct_cyrf6936_reg_framing_cfg_adr bits;
}union_cyrf6936_reg_framing_cfg_adr;								/* 0x10, framing_cfg_adr */
typedef struct tag_struct_cyrf6936_reg_data32_thold_adr {
	U8 TH32:4;	/* bit0..3 */
	U8 reserved:4;	/* bit4..7 */
}struct_cyrf6936_reg_data32_thold_adr;
typedef union tag_union_cyrf6936_reg_data32_thold_adr {
	U8 byte;
	struct_cyrf6936_reg_data32_thold_adr bits;
}union_cyrf6936_reg_data32_thold_adr;								/* 0x11, data32_thold_adr */
typedef struct tag_struct_cyrf6936_reg_data64_thold_adr {
	U8 TH64:5;	/* bit0..4 */
	U8 reserved:3;	/* bit5..7 */
}struct_cyrf6936_reg_data64_thold_adr;
typedef union tag_union_cyrf6936_reg_data64_thold_adr {
	U8 byte;
	struct_cyrf6936_reg_data64_thold_adr bits;
}union_cyrf6936_reg_data64_thold_adr;								/* 0x12, data64_thold_adr */
typedef struct tag_struct_cyrf6936_reg_rssi_adr {
	U8 RSSI:5;	/* bit0..4 */
	U8 LNA:1;	/* bit5 */
	U8 reserved:1;	/* bit6 */
	U8 SOP:1;	/* bit7 */
}struct_cyrf6936_reg_rssi_adr;
typedef union tag_union_cyrf6936_reg_rssi_adr {
	U8 byte;
	struct_cyrf6936_reg_rssi_adr bits;
}union_cyrf6936_reg_rssi_adr;										/* 0x13, rssi_adr */
typedef struct tag_struct_cyrf6936_reg_eop_ctrl_adr {
	U8 EOP:4;	/* bit0..3 */
	U8 HINT:3;	/* bit4..6 */
	U8 HEN:1;	/* bit7 */
}struct_cyrf6936_reg_eop_ctrl_adr;
typedef union tag_union_cyrf6936_reg_eop_ctrl_adr {
	U8 byte;
	struct_cyrf6936_reg_eop_ctrl_adr bits;
}union_cyrf6936_reg_eop_ctrl_adr;									/* 0x14, eop_ctrl_adr */
typedef U8 union_cyrf6936_reg_crc_seed_lsb_adr;			/* 0x15, crc_seed_lsb_adr */
typedef U8 union_cyrf6936_reg_crc_seed_msb_adr;			/* 0x16, crc_seed_msb_adr */
typedef U8 union_cyrf6936_reg_tx_crc_lsb_adr;			/* 0x17, tx_crc_lsb_adr */
typedef U8 union_cyrf6936_reg_tx_crc_msb_adr;			/* 0x18, tx_crc_msb_adr */
typedef U8 union_cyrf6936_reg_rx_crc_lsb_adr;			/* 0x19, rx_crc_lsb_adr */
typedef U8 union_cyrf6936_reg_rx_crc_msb_adr;			/* 0x1a, rx_crc_msb_adr */
typedef U8 union_cyrf6936_reg_tx_offset_lsb_adr;		/* 0x1b, tx_offset_lsb_adr */
typedef struct tag_struct_cyrf6936_reg_tx_offset_msb_adr {
	U8 STRIM_MSB:4;	/* bit0..3 */
	U8 reserved:4;	/* bit4..7 */
}struct_cyrf6936_reg_tx_offset_msb_adr;
typedef union tag_union_cyrf6936_reg_tx_offset_msb_adr {
	U8 byte;
	struct_cyrf6936_reg_tx_offset_msb_adr bits;
}union_cyrf6936_reg_tx_offset_msb_adr;								/* 0x1c, tx_offset_msb_adr */
typedef struct tag_struct_cyrf6936_reg_mode_override_adr {
	U8 RST:1;		/* bit0 */
	U8 reserved:2;	/* bit1..2 */
	U8 FRC_AWAKE:2;	/* bit3..4 */
	U8 FRC_SEN:1;	/* bit5 */
	U8 RSVD:2;		/* bit6..7 */
}struct_cyrf6936_reg_mode_override_adr;
typedef union tag_union_cyrf6936_reg_mode_override_adr {
	U8 byte;
	struct_cyrf6936_reg_mode_override_adr bits;
}union_cyrf6936_reg_mode_override_adr;								/* 0x1d, mode_override_adr */
typedef struct tag_struct_cyrf6936_reg_rx_override_adr {
	U8 reserved:1;	/* bit0 */
	U8 ACE:1;		/* bit1 */
	U8 DIS_RXCRC:1;	/* bit2 */
	U8 DIS_CRC0:1;	/* bit3 */
	U8 FRC_RXDR:1;	/* bit4 */
	U8 MAN_RXACK:1;	/* bit5 */
	U8 RXTX_DLY:1;	/* bit6 */
	U8 ACK_RX:1;	/* bit7 */
}struct_cyrf6936_reg_rx_override_adr;
typedef union tag_union_cyrf6936_reg_rx_override_adr {
	U8 byte;
	struct_cyrf6936_reg_rx_override_adr bits;
}union_cyrf6936_reg_rx_override_adr;								/* 0x1e, rx_override_adr */
typedef struct tag_struct_cyrf6936_reg_tx_override_adr {
	U8 TX_INV:1;	/* bit0 */
	U8 RSVD1_1:1;	/* bit1 */
	U8 DIS_TXCRC:1;	/* bit2 */
	U8 OVRD_ACK:1;	/* bit3 */
	U8 MAN_TXACK:1;	/* bit4 */
	U8 RSVD5_5:1;	/* bit5 */
	U8 FRC_PRE:1;	/* bit6 */
	U8 ACK_TX:1;	/* bit7 */
}struct_cyrf6936_reg_tx_override_adr;
typedef union tag_union_cyrf6936_reg_tx_override_adr {
	U8 byte;
	struct_cyrf6936_reg_tx_override_adr bits;
}union_cyrf6936_reg_tx_override_adr;								/* 0x1f, tx_override_adr */
typedef struct tag_struct_cyrf6936_reg_clk_override_adr {
	U8 RSVD:1;	/* bit0 */
	U8 RXF:1;	/* bit1 */
	U8 RSVD2_7:6;	/* bit2..7 */
}struct_cyrf6936_reg_clk_override_adr;
typedef union tag_union_cyrf6936_reg_clk_override_adr {
	U8 byte;
	struct_cyrf6936_reg_clk_override_adr bits;
}union_cyrf6936_reg_clk_override_adr;								/* 0x27, clk_override_adr */
typedef union_cyrf6936_reg_clk_override_adr union_cyrf6936_reg_clk_en_adr;	/* 0x28, clk_en_adr */
typedef struct tag_struct_cyrf6936_reg_rx_abort_adr {
	U8 RSVD0_4:5;	/* bit0..4 */
	U8 ABORT_EN:1;	/* bit5 */
	U8 RSVD6_7:2;	/* bit6..7 */
}struct_cyrf6936_reg_rx_abort_adr;
typedef union tag_union_cyrf6936_reg_rx_abort_adr {
	U8 byte;
	struct_cyrf6936_reg_rx_abort_adr bits;
}union_cyrf6936_reg_rx_abort_adr;									/* 0x29, rx_abort_adr */
typedef U8 union_cyrf6936_reg_auto_cal_time_adr;		/* 0x32, auto_cal_time_adr */
typedef U8 union_cyrf6936_reg_auto_cal_offset_adr;		/* 0x35, auto_cal_offset_adr */
typedef struct tag_struct_cyrf6936_reg_analog_ctrl_adr {
	U8 ALL_SLOW:1;	/* bit0 */
	U8 RSVD1_7:7;	/* bit1..7 */
}struct_cyrf6936_reg_analog_ctrl_adr;
typedef union tag_union_cyrf6936_reg_analog_ctrl_adr {
	U8 byte;
	struct_cyrf6936_reg_analog_ctrl_adr bits;
}union_cyrf6936_reg_analog_ctrl_adr;								/* 0x39, analog_ctrl_adr */
typedef U8 union_cyrf6936_reg_file_tx_buffer_adr;		/* 0x20, tx_buffer_adr */
typedef U8 union_cyrf6936_reg_file_rx_buffer_adr;		/* 0x21, rx_buffer_adr */
typedef U8 union_cyrf6936_reg_file_sop_code_adr;		/* 0x22, sop_code_adr */
typedef U8 union_cyrf6936_reg_file_data_code_adr;		/* 0x23, data_code_adr */
typedef U8 union_cyrf6936_reg_file_preamble_adr;		/* 0x24, preamble_adr */
typedef U8 union_cyrf6936_reg_file_mfg_id_adr;			/* 0x25, mfg_id_adr */

typedef union tag_union_cyrf6936_reg_common {
	union_cyrf6936_reg_channel_adr			channel_adr;			/* 0x00, channel_adr */
	union_cyrf6936_reg_tx_length_adr		tx_length_adr;			/* 0x01, tx_length_adr */
	union_cyrf6936_reg_tx_ctrl_adr			tx_ctrl_adr;			/* 0x02, tx_ctrl_adr */
	union_cyrf6936_reg_tx_cfg_adr			tx_cfg_adr;				/* 0x03, tx_cfg_adr */
	union_cyrf6936_reg_tx_irq_status_adr	tx_irq_status_adr;		/* 0x04, tx_irq_status_adr */
	union_cyrf6936_reg_rx_ctrl_adr			rx_ctrl_adr;			/* 0x05, rx_ctrl_adr */
	union_cyrf6936_reg_rx_cfg_adr			rx_cfg_adr;				/* 0x06, rx_cfg_adr */
	union_cyrf6936_reg_rx_irq_status_adr	irq_status_adr;			/* 0x07, rx_irq_status_adr */
	union_cyrf6936_reg_rx_status_adr		rx_status_adr;			/* 0x08, rx_status_adr */
	union_cyrf6936_reg_rx_count_adr			rx_count_adr;			/* 0x09, rx_count_adr */
	union_cyrf6936_reg_rx_length_adr		rx_length_adr;			/* 0x0a, rx_length_adr */
	union_cyrf6936_reg_pwr_ctrl_adr			pwr_ctrl_adr;			/* 0x0b, pwr_ctrl_adr */
	union_cyrf6936_reg_xtal_ctrl_adr		xtal_ctrl_adr;			/* 0x0c, xtal_ctrl_adr */
	union_cyrf6936_reg_io_cfg_adr			io_cfg_adr;				/* 0x0d, io_cfg_adr */
	union_cyrf6936_reg_gpio_ctrl_adr		gpio_ctrl_adr;			/* 0x0e, gpio_ctrl_adr */
	union_cyrf6936_reg_xact_cfg_adr			xact_cfg_adr;			/* 0x0f, xact_cfg_adr */
	union_cyrf6936_reg_framing_cfg_adr		framing_cfg_adr;		/* 0x10, framing_cfg_adr */
	union_cyrf6936_reg_data32_thold_adr		data32_thold_adr;		/* 0x11, data32_thold_adr */
	union_cyrf6936_reg_data64_thold_adr		data64_thold_adr;		/* 0x12, data64_thold_adr */
	union_cyrf6936_reg_rssi_adr				rssi_adr;				/* 0x13, rssi_adr */
	union_cyrf6936_reg_eop_ctrl_adr			eop_ctrl_adr;			/* 0x14, eop_ctrl_adr */
	union_cyrf6936_reg_crc_seed_lsb_adr		crc_seed_lsb_adr;		/* 0x15, crc_seed_lsb_adr */
	union_cyrf6936_reg_crc_seed_msb_adr		crc_seed_msb_adr;		/* 0x16, crc_seed_msb_adr */
	union_cyrf6936_reg_tx_crc_lsb_adr		tx_crc_lsb_adr;			/* 0x17, tx_crc_lsb_adr */
	union_cyrf6936_reg_tx_crc_msb_adr		tx_crc_msb_adr;			/* 0x18, tx_crc_msb_adr */
	union_cyrf6936_reg_rx_crc_lsb_adr		rx_crc_lsb_adr;			/* 0x19, rx_crc_lsb_adr */
	union_cyrf6936_reg_rx_crc_msb_adr		rx_crc_msb_adr;			/* 0x1a, rx_crc_msb_adr */
	union_cyrf6936_reg_tx_offset_lsb_adr	tx_offset_lsb_adr;		/* 0x1b, tx_offset_lsb_adr */
	union_cyrf6936_reg_tx_offset_msb_adr	tx_offset_msb_adr;		/* 0x1c, tx_offset_msb_adr */
	union_cyrf6936_reg_mode_override_adr	mode_override_adr;		/* 0x1d, mode_override_adr */
	union_cyrf6936_reg_rx_override_adr		rx_override_adr;		/* 0x1e, rx_override_adr */
	union_cyrf6936_reg_tx_override_adr		tx_override_adr;		/* 0x1f, tx_override_adr */
	union_cyrf6936_reg_clk_override_adr		clk_override_adr;		/* 0x27, clk_override_adr */
	union_cyrf6936_reg_clk_en_adr			clk_en_adr;				/* 0x28, clk_en_adr */
	union_cyrf6936_reg_rx_abort_adr			rx_abort_adr;			/* 0x29, rx_abort_adr */
	union_cyrf6936_reg_auto_cal_time_adr	auto_cal_time_adr;		/* 0x32, auto_cal_time_adr */
	union_cyrf6936_reg_auto_cal_offset_adr	auto_cal_offset_adr;	/* 0x35, auto_cal_offset_adr */
	union_cyrf6936_reg_analog_ctrl_adr		analog_ctrl_adr;		/* 0x39, analog_ctrl_adr */
	union_cyrf6936_reg_file_tx_buffer_adr	file_tx_buffer_adr;		/* 0x20, tx_buffer_adr */
	union_cyrf6936_reg_file_rx_buffer_adr	file_rx_buffer_adr;		/* 0x21, rx_buffer_adr */
	union_cyrf6936_reg_file_sop_code_adr	file_sop_code_adr;		/* 0x22, sop_code_adr */
	union_cyrf6936_reg_file_data_code_adr	file_data_code_adr;		/* 0x23, data_code_adr */
	union_cyrf6936_reg_file_preamble_adr	file_preamble_adr;		/* 0x24, preamble_adr */
	union_cyrf6936_reg_file_mfg_id_adr		file_mfg_id_adr;		/* 0x25, mfg_id_adr */
	U8 common;
}union_cyrf6936_reg_common;

typedef struct tag_struct_cyrf6936_common_status {
	union_cyrf6936_reg_tx_irq_status_adr	tx_irq_status_adr;		/* 0x04, tx_irq_status_adr */
	union_cyrf6936_reg_rx_irq_status_adr	irq_status_adr;			/* 0x07, rx_irq_status_adr */
	union_cyrf6936_reg_rx_status_adr		rx_status_adr;			/* 0x08, rx_status_adr */
	union_cyrf6936_reg_rssi_adr				rssi_adr;				/* 0x13, rssi_adr */

	union_cyrf6936_reg_tx_crc_lsb_adr		tx_crc_lsb_adr;			/* 0x17, tx_crc_lsb_adr */
	union_cyrf6936_reg_tx_crc_msb_adr		tx_crc_msb_adr;			/* 0x18, tx_crc_msb_adr */
	union_cyrf6936_reg_rx_crc_lsb_adr		rx_crc_lsb_adr;			/* 0x19, rx_crc_lsb_adr */
	union_cyrf6936_reg_rx_crc_msb_adr		rx_crc_msb_adr;			/* 0x1a, rx_crc_msb_adr */
}struct_cyrf6936_common_status;

typedef struct tag_struct_cyrf6936_common_conifg {
	union_cyrf6936_reg_channel_adr			channel_adr;			/* 0x00, channel_adr */

	union_cyrf6936_reg_tx_cfg_adr			tx_cfg_adr;				/* 0x03, tx_cfg_adr */
	union_cyrf6936_reg_rx_cfg_adr			rx_cfg_adr;				/* 0x06, rx_cfg_adr */

	union_cyrf6936_reg_pwr_ctrl_adr			pwr_ctrl_adr;			/* 0x0b, pwr_ctrl_adr */
	union_cyrf6936_reg_xtal_ctrl_adr		xtal_ctrl_adr;			/* 0x0c, xtal_ctrl_adr */
	union_cyrf6936_reg_io_cfg_adr			io_cfg_adr;				/* 0x0d, io_cfg_adr */
	union_cyrf6936_reg_gpio_ctrl_adr		gpio_ctrl_adr;			/* 0x0e, gpio_ctrl_adr */

	union_cyrf6936_reg_xact_cfg_adr			xact_cfg_adr;			/* 0x0f, xact_cfg_adr */
	union_cyrf6936_reg_framing_cfg_adr		framing_cfg_adr;		/* 0x10, framing_cfg_adr */

	union_cyrf6936_reg_data32_thold_adr		data32_thold_adr;		/* 0x11, data32_thold_adr */
	union_cyrf6936_reg_data64_thold_adr		data64_thold_adr;		/* 0x12, data64_thold_adr */
	union_cyrf6936_reg_eop_ctrl_adr			eop_ctrl_adr;			/* 0x14, eop_ctrl_adr */
	union_cyrf6936_reg_crc_seed_lsb_adr		crc_seed_lsb_adr;		/* 0x15, crc_seed_lsb_adr */
	union_cyrf6936_reg_crc_seed_msb_adr		crc_seed_msb_adr;		/* 0x16, crc_seed_msb_adr */
	union_cyrf6936_reg_tx_offset_lsb_adr	tx_offset_lsb_adr;		/* 0x1b, tx_offset_lsb_adr */
	union_cyrf6936_reg_tx_offset_msb_adr	tx_offset_msb_adr;		/* 0x1c, tx_offset_msb_adr */

	union_cyrf6936_reg_mode_override_adr	mode_override_adr;		/* 0x1d, mode_override_adr */
	union_cyrf6936_reg_rx_override_adr		rx_override_adr;		/* 0x1e, rx_override_adr */
	union_cyrf6936_reg_tx_override_adr		tx_override_adr;		/* 0x1f, tx_override_adr */
	union_cyrf6936_reg_clk_override_adr		clk_override_adr;		/* 0x27, clk_override_adr */
	union_cyrf6936_reg_clk_en_adr			clk_en_adr;				/* 0x28, clk_en_adr */
	union_cyrf6936_reg_rx_abort_adr			rx_abort_adr;			/* 0x29, rx_abort_adr */
	union_cyrf6936_reg_auto_cal_time_adr	auto_cal_time_adr;		/* 0x32, auto_cal_time_adr */
	union_cyrf6936_reg_auto_cal_offset_adr	auto_cal_offset_adr;	/* 0x35, auto_cal_offset_adr */
	union_cyrf6936_reg_analog_ctrl_adr		analog_ctrl_adr;		/* 0x39, analog_ctrl_adr */
}struct_cyrf6936_common_config;

typedef struct tag_union_cyrf6936_common_trx {
	union_cyrf6936_reg_tx_length_adr		tx_length_adr;			/* 0x01, tx_length_adr */
	union_cyrf6936_reg_tx_ctrl_adr			tx_ctrl_adr;			/* 0x02, tx_ctrl_adr */	
	union_cyrf6936_reg_rx_ctrl_adr			rx_ctrl_adr;			/* 0x05, rx_ctrl_adr */
	union_cyrf6936_reg_rx_count_adr			rx_count_adr;			/* 0x09, rx_count_adr */
	union_cyrf6936_reg_rx_length_adr		rx_length_adr;			/* 0x0a, rx_length_adr */

	union_cyrf6936_reg_rx_abort_adr			rx_abort_adr;			/* 0x29, rx_abort_adr */
}union_cyrf6936_common_trx;

/* variable */
extern status cyrf_spi_transfer_flag;
extern struct_cyrf6936_common_status cyrf6936_current_status;
extern struct_cyrf6936_common_config cyrf6936_current_config;

extern struct_rb_byte_id cyrf6936_rx_rb_id;
extern struct_rb_byte_id cyrf6936_tx_rb_id;
extern U8 cyrf6936_rx_buffer[CYRF6936_RX_BUFFER_LENGTH];
extern U8 cyrf6936_tx_buffer[CYRF6936_TX_BUFFER_LENGTH];
extern status cyrf6936_transmit_flag;

/* function */
extern S32 cyrf_spi_read(S8 adr, S8 * p_rst, int length);
extern S32 cyrf_spi_write(S8 adr, S8 * p_src, int length);
extern status int0_handle(void);
extern status cyrf6936_transmit_startup(void);
extern status cyrf6936_init(void);
#endif

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -