标题: NRF24L01发射+接受程序实测通过 [打印本页]

作者: usb123    时间: 2017-10-23 22:24
标题: NRF24L01发射+接受程序实测通过
主控STC89C52RC
晶振:11.0592
while(NRF24L01_TxPacket(tmp_buf)!=TX_OK);  //发送失败则一直发送,直到对方接受成功为止     
此句主要是检测发送信号发送完成
自己做实验可取此句
大家直接拿走吧,,不用谢


单片机+nrf24l01接受源程序如下(主程序):
  1. /***********************
  2. 小板测试时如果没有效果
  3. 就将2.4G拔下,在插上,按下复位,再次发送数据即可

  4. 如果发送数据时led闪烁,应该是发送数据的按键没有去抖

  5. ***************************/
  6. #include<reg52.h>
  7. #include"NRF_24L01.h"

  8. sbit led=P1^0;

  9. void main(void)
  10. {
  11. unsigned char  tmp_buf[33];
  12.         delay(200);                 
  13.         init_nrf24l01_io();                //初始化
  14.         delay(200);         
  15.         led=1;
  16.         ifnnrf_rx_mode();                //设置为RX模式
  17.         while(1)
  18.         {
  19.                 if(NRF24L01_RxPacket(tmp_buf)==RX_OK)//一旦接收到信息,则显示出来.
  20.                 {       
  21.                         if(tmp_buf[31]=='a') led=(!led);   //led取反
  22.                 }               
  23.         }                                                                     
  24. }

复制代码

nrf24l01发射程序:
  1. #include<reg52.h>
  2. #include"NRF_24L01.h"

  3. sbit led=P1^0;         
  4. sbit key=P3^0;
  5. uchar gled[8]={0xfe,0xfd,0xfb,0xf7,0xef,0xdf,0xbf,0x7f};


  6. void main(void)
  7. {
  8.         unsigned char t;
  9.         unsigned char tmp_buf[33]={0};
  10.         unsigned char buf[5]={0XA5,0XA5,0XA5,0XA5,0XA5};

  11.         init_nrf24l01_io();           //初始化
  12.         delay(20);
  13.         SPI_Write_Buf(WRITE_REG+TX_ADDR,buf,5);           //数据存入寄存器
  14.     SPI_Read_Buf(TX_ADDR,buf,5);                             //数据读出寄存器
  15.        

  16.         for(t=0;t<5;t++)if(rx_buf[t]!=0XA5)break;
  17.        
  18.         if(t==5)  {led=0;delay(20000);led=1;}           //验证数据,正常则led闪烁

  19.         ifnnrf_tx_mode();                                                    //设为TX模式
  20.         while(1)
  21.         {       
  22.                 if(key==0)                                                      
  23.                 {       
  24.                         led=0;
  25.                         for(t=0;t<33;t++)
  26.                         {
  27.                         tmp_buf[t]=0;
  28.                         }
  29.                         tmp_buf[31]='a';                                  

  30.                         NRF24L01_TxPacket(tmp_buf);                                   //发送数据
  31.                         while(NRF24L01_TxPacket(tmp_buf)!=TX_OK);  //发送失败则一直发送,直到对方接受成功为止
  32.                        
  33.                         tmp_buf[31]=0;               
  34.                         led=1;
  35.                 }                            
  36.         }
  37. }


复制代码


所有资料51hei提供下载:
nrf2401实测通过.zip (105.39 KB, 下载次数: 541)



作者: 网侠    时间: 2018-2-21 15:10
下载看看
作者: wwdec    时间: 2018-4-7 20:41
一直不通看看
作者: zhcxb    时间: 2018-5-21 12:08
感谢分享!!!!
作者: runjiu    时间: 2018-5-28 20:58
感谢分享,努力学习!
作者: 岭上开花    时间: 2018-6-17 09:41
感谢分享,努力学习!
作者: 51lcx    时间: 2018-6-28 08:31
感谢楼主,好人一生平安
作者: zninz    时间: 2018-8-15 16:18
谢谢,分享,刚好要做一辆远距离控制的小车
作者: Airbnb    时间: 2018-8-19 23:54
学习一下。
作者: yulin3192    时间: 2018-8-28 00:12
注释有点不完整看起来有点费劲
作者: Riton    时间: 2018-9-2 15:52
程序是不是有点问题?21行rx_buf[t]一直变量之前一直没有被修改过,那不还是初始值?
18行是不是应该修改成SPI_Read_Buf(TX_ADDR,rx_buf,5);   
作者: 稻草人在武汉    时间: 2018-9-22 23:59
赞一个,感谢
作者: ss乐乐    时间: 2018-10-14 19:06
这个LED能不能发射这边按键按着 接收的亮。   然后放手接收这边的LED就跟着灭
作者: 爱的电力    时间: 2018-11-27 15:17
学习下
作者: 爱的电力    时间: 2018-11-27 15:17
学习学习,感谢博主
作者: zy1186    时间: 2018-11-28 13:07

感谢分享,努力学习!
作者: markchan3    时间: 2019-1-9 17:36
学习一下
作者: mtk1625    时间: 2019-1-23 15:33
非常感谢
作者: Mangguogege    时间: 2019-2-4 17:39
给力 谢谢分享。1/111
作者: heyjxc    时间: 2019-3-22 15:51
非常感谢
作者: ljchip    时间: 2019-4-3 08:02
NRF24L01发射+接受程序实测通过,谢谢啦
作者: 小林尘    时间: 2019-4-23 09:23
楼主,你好,可以重新发一份给我吗?下载后我用keil C51打开显示路径错误,
作者: 帅比凯    时间: 2019-5-2 16:30
下载试试
作者: 帅比凯    时间: 2019-5-2 16:31
非常感谢
作者: 224电子狗    时间: 2019-5-3 10:48
ljchip 发表于 2019-4-3 08:02
NRF24L01发射+接受程序实测通过,谢谢啦

请问你是按照这个程序来的吗,

作者: 224电子狗    时间: 2019-5-3 10:49
帅比凯 发表于 2019-5-2 16:31
非常感谢

请问大哥弄好了吗,我怎么调试不出来
作者: psyren    时间: 2019-5-3 21:23

很好的资料,正好学习需要




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1