论坛元老
- 积分
- 5075
- 金钱
- 5075
- 注册时间
- 2013-10-4
- 在线时间
- 654 小时
|
发表于 2014-8-6 10:38:30
|
显示全部楼层
回复【5楼】影腾:
<br>---------------------------------
<br>NRF24L01.H 文件里有#define MODE 1 //MODE=1时 为发送代码 MODE=0时 为接收代码
<br>
<br>在主函数里有
<br>#if MODE //发送 模式代码
<br> TX_Mode();
<br> //SPI_RW_Reg(FLUSH_RX,0x00);
<br> while(1)
<br> {
<br> Transmit(Tx_Buf);
<br> Delay(10);
<br> sta = SPI_Read(READ_REG + STATUS);
<br> if(TX_DS)
<br> {
<br>  1 = sta; //8位LED显示当前STATUS状态 发送中断应使bit5 = 1 灯灭
<br> Delay(100);
<br> SPI_RW_Reg(WRITE_REG + STATUS, sta);
<br> }
<br> if(MAX_RT) //如果是发送超时
<br> {
<br>  1 = sta; //发送超时时 8位LED灯 bit4 = 1 灯灭
<br> Delay(150);
<br>
<br> SPI_RW_Reg(WRITE_REG + STATUS, sta);
<br> }
<br> }
<br>#else //接收 模式代码
<br> StartUART();
<br> RX_Mode();
<br> Delay(0);//防止编译警告
<br>
<br> while(1)
<br> {
<br> if(nRF24L01_RxPacket(Rx_Buf))
<br> {
<br> LED = 0;
<br> Delay(100);
<br> for(i = 0; i < TX_PLOAD_WIDTH; i++)
<br> {
<br> R_S_Byte(Rx_Buf);
<br> }
<br> }
<br> else
<br> {
<br> LED = 1;
<br> }
<br> }
<br>#endif
<br>故你把MODE设置为1,它就是发送程序
<br>而MODE设置为0,它就是接收程序 |
|