文档库 最新最全的文档下载
当前位置:文档库 › 无线通信模块IRF2401程序思路

无线通信模块IRF2401程序思路

2010年8月,于枞阳老家调试通过,作以下说明

一、由于NRF2401是无线单工通信方式,采用主从切换时间片轮转换法来实现准双工通信。

将两只NRF2401都设置为丛机,并在串口通信中断里面设定一旦Buf接收到数据就将其设置为主机。等待NRF2401将待发送数据发送完毕后再切换至丛机模式下。

二、NRF2401的配置采用宏定义,通过宏定义将 18 字节的寄存器参数按照各个功能分解,以便于参数的调整

#define RFConfig_Bit0 TEST_2
#define RFConfig_Bit1 TEST_1
#define RFConfig_Bit2 TEST_0
#define RFConfig_Bit3 DATA2_W
#define RFConfig_Bit4 DATA1_W
#define RFConfig_Bit5 ADDR2_4
#define RFConfig_Bit6 ADDR2_3
#define RFConfig_Bit7 ADDR2_2
#define RFConfig_Bit8 ADDR2_1
#define RFConfig_Bit9 ADDR2_0
#define RFConfig_Bit10 ADDR1_4
#define RFConfig_Bit11 ADDR1_3
#define RFConfig_Bit12 ADDR1_2
#define RFConfig_Bit13 ADDR1_1
#define RFConfig_Bit14 ADDR1_0
#define RFConfig_Bit15 (ADDR_W<<2 | CRC_L<<1 | CRC_EN)
#define RFConfig_Bit16 (RX2_EN<<7 | CM<<6 | RFDR_SB<<5 | XO_F <<2 | RF_PWR)
#define RFConfig_Bit17 (RF_CH<<1 | RXEN)

三、主从机配置

void SetTxMode(void) //设置传输模式
{
//设置为配置模式
PWR_UP=1;
CE=0;
CS=1;
Delay100();
//配置寄存器0 字节RXEN 设置为0:发送模式
DATA =0;
CLK1=1;
CLK1=0;
//设置为Activemodes(Tx)
CS=0;
CE=1;
Delay100();
}

void SetRxMode(void) //设置为接收模式
{
//设置为配置模式
PWR_UP = 1;
CE=0;
CS=1;
Delay100();
//配置寄存器0 字节RXEN 设置为 1:接收模式
DATA =1;
CLK1=1;
CLK1=0;
//设置为Activemodes(Rx)
CS=0;
CE=1;
Delay100();
}


相关文档
相关文档 最新文档