📄 nrf2401a.h
字号:
/************************************************ Copyright (c) 2006,成都酷安科技有限公司* All rights reserved.** 文件名称:nRF2401A.H* 文件标识:无* 摘 要:nRF2401A配置头文件,本文件适用于PIC系* 列MCU使用HITACH编译器使用** 当前版本:1.0* 作 者:税超* 完成日期:2006年8月20日** 取代版本:无* 原 作 者:无* 完成日期:无***********************************************//*********************************************** 函数声明***********************************************/ extern void Sleep_Mode(void); //睡眠模式设置函数 extern void PowOffMode(void); //关机模式设置函数 extern void RX_Mode(void); //接收模式设置函数 extern void Init2401A(void); //芯片初始化函数 extern void WriteData(void); //数据发射函数 extern unsigned char ReadData(void); //数据接收函数/*说明: 1。调用PowOffMode()后重新启动需调用Sleep_Mode()后并延迟3mS以 上,以便芯片能正常启动。 2。Init2401A()函数用于初始化芯片设置,具体设置请参见内部配置 定义中的选择项。 3。WriteData()函数用于发射数据。调用前不需要设置芯片状态,发 射结束后芯片进入睡眠状态,发送后需要返回接受状态时,必须保 证数据发送完毕后才能转到接收状态,否则数据发送失败。 4。ReadData()函数用于接收数据,在准备接收前需要调用RX_Mode() 函数使芯片工作于“接收模式”,接收完数据后数据存放与指定的缓 冲区内,芯片重新进入接收模式。 5。使用前需先将端口定义完整。*//*********************************************** 端口定义***********************************************/ #define RF_PM RA5 //电源管理控制 #define RF_PM_T TRISA5 //电源管理控制方向设置 #define RF_CE RA4 //使能控制 #define RF_CE_T TRISA4 //使能控制方向设置 #define RF_CS RC5 //片选控制 #define RF_CS_T TRISC5 //片选控制方向设置 #define RF_DR1 RA0 //数据1准备好 #define RF_DR1_T TRISA0 //数据1准备好方向设置 #define RF_CLK1 RA1 //时钟输出 #define RF_CLK1_T TRISA1 //时钟方向控制 #define RF_DAT RA2 //数据输出 #define RF_DAT_T TRISA2 //数据方向设置/*********************************************** 内部配置定义***********************************************/ #define RFDATASIZE 16 //最大数据包长度 32-ADDR4-CRC2=26Byte #define ADDRSIZE 4 //地址长度Byte,最大为5 #define CH_NO 0 //频段编号,单通道最大124,双通道最大116 #define TX_ADD 0x4b414b4a //发送地址,“KAKJ” #define RX_ADD_CH1 0x4b414b4a //通道1接收地址,“KAKJ” #define RX_ADD_CH2 0 //通道2接收地址 #define CRC_MODE 1 //CRC模式选择,1为16BIT,0为8BIT #define CRC_EN 1 //CRC使能控制,1使能,0关闭 #define TOW_CH_EN 0 //双通道控制,1双通道,0单通道 #define SHOCK_EN 1 //工作方式选择,1 SHOCK方式,0直接方式 #define BPS1M_EN 1 //速率选择,1为1M,0为250Kbps #define XT_SEL 3 //晶振选择,0为4M,1为8M,2为12M,3为16M,4为20M #define PA_POW_SEL 3 //功率选择,0为-20dB,1为-10dB,2为-5dB,3为0dB #define ADDRESS_W ADDRSIZE*8 #define TX_ADDR_CODE0 (TX_ADD>>32)&0Xff #define TX_ADDR_CODE1 (TX_ADD>>24)&0Xff #define TX_ADDR_CODE2 (TX_ADD>>16)&0Xff #define TX_ADDR_CODE3 (TX_ADD>>8)&0Xff #define TX_ADDR_CODE4 TX_ADD&0Xff #define DATA2_W_CODE RFDATASIZE*8 #define DATA1_W_CODE RFDATASIZE*8 #define C2_ADD_CODE0 (RX_ADD_CH2>>32)&0xff #define C2_ADD_CODE1 (RX_ADD_CH2>>24)&0xff #define C2_ADD_CODE2 (RX_ADD_CH2>>16)&0xff #define C2_ADD_CODE3 (RX_ADD_CH2>>8)&0xff #define C2_ADD_CODE4 RX_ADD_CH2&0xff #define C1_ADD_CODE0 (RX_ADD_CH1>>32)&0xff #define C1_ADD_CODE1 (RX_ADD_CH1>>24)&0xff #define C1_ADD_CODE2 (RX_ADD_CH1>>16)&0xff #define C1_ADD_CODE3 (RX_ADD_CH1>>8)&0xff #define C1_ADD_CODE4 RX_ADD_CH1&0xff #define ADD_W_CRC_CODE (ADDRESS_W<<2)|(CRC_MODE<<1)|CRC_EN #define RF_SET_CODE (TOW_CH_EN<<7)|(SHOCK_EN<<6)|(BPS1M_EN<<5)|(XT_SEL<<2)|PA_POW_SEL #define FRE_TX_CODE CH_NO<<1 #define FRE_RX_CODE (CH_NO<<1)|1/*********************************************** 数据缓冲区定义***********************************************/ static volatile unsigned char RF_RX_Buff[RFDATASIZE]; static volatile unsigned char RF_TX_Buff[RFDATASIZE];
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -