找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 10863|回复: 26
收起左侧

NRF24L01发射+接受程序实测通过

  [复制链接]
ID:166645 发表于 2017-10-23 22:24 | 显示全部楼层 |阅读模式
主控STC89C52RC
晶振:11.0592
while(NRF24L01_TxPacket(tmp_buf)!=TX_OK);  //发送失败则一直发送,直到对方接受成功为止     
此句主要是检测发送信号发送完成
自己做实验可取此句
大家直接拿走吧,,不用谢
0.png

单片机+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, 下载次数: 540)

评分

参与人数 4黑币 +63 收起 理由
lookae123 + 4 赞一个!
MKKLL + 4 赞一个!
fqsqsdq123456 + 5 很给力!
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:389885 发表于 2018-9-2 15:52 | 显示全部楼层
程序是不是有点问题?21行rx_buf[t]一直变量之前一直没有被修改过,那不还是初始值?
18行是不是应该修改成SPI_Read_Buf(TX_ADDR,rx_buf,5);   

评分

参与人数 1黑币 +40 收起 理由
admin + 40 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:161597 发表于 2018-2-21 15:10 | 显示全部楼层
下载看看
回复

使用道具 举报

ID:99337 发表于 2018-4-7 20:41 | 显示全部楼层
一直不通看看
回复

使用道具 举报

ID:334765 发表于 2018-5-21 12:08 | 显示全部楼层
感谢分享!!!!
回复

使用道具 举报

ID:103981 发表于 2018-5-28 20:58 | 显示全部楼层
感谢分享,努力学习!
回复

使用道具 举报

ID:353116 发表于 2018-6-17 09:41 | 显示全部楼层
感谢分享,努力学习!
回复

使用道具 举报

ID:359667 发表于 2018-6-28 08:31 | 显示全部楼层
感谢楼主,好人一生平安
回复

使用道具 举报

ID:222498 发表于 2018-8-15 16:18 | 显示全部楼层
谢谢,分享,刚好要做一辆远距离控制的小车
回复

使用道具 举报

ID:322848 发表于 2018-8-19 23:54 | 显示全部楼层
学习一下。
回复

使用道具 举报

ID:234782 发表于 2018-8-28 00:12 | 显示全部楼层
注释有点不完整看起来有点费劲

评分

参与人数 1黑币 +20 收起 理由
admin + 20 回帖助人的奖励!

查看全部评分

回复

使用道具 举报

ID:401454 发表于 2018-9-22 23:59 | 显示全部楼层
赞一个,感谢
回复

使用道具 举报

ID:367087 发表于 2018-10-14 19:06 | 显示全部楼层
这个LED能不能发射这边按键按着 接收的亮。   然后放手接收这边的LED就跟着灭
回复

使用道具 举报

ID:418652 发表于 2018-11-27 15:17 | 显示全部楼层
学习下
回复

使用道具 举报

ID:418652 发表于 2018-11-27 15:17 | 显示全部楼层
学习学习,感谢博主
回复

使用道具 举报

ID:187056 发表于 2018-11-28 13:07 | 显示全部楼层

感谢分享,努力学习!
回复

使用道具 举报

ID:366405 发表于 2019-1-9 17:36 | 显示全部楼层
学习一下
回复

使用道具 举报

ID:184706 发表于 2019-1-23 15:33 | 显示全部楼层
非常感谢
回复

使用道具 举报

ID:129244 发表于 2019-2-4 17:39 | 显示全部楼层
给力 谢谢分享。1/111
回复

使用道具 举报

ID:496199 发表于 2019-3-22 15:51 | 显示全部楼层
非常感谢
回复

使用道具 举报

ID:247571 发表于 2019-4-3 08:02 | 显示全部楼层
NRF24L01发射+接受程序实测通过,谢谢啦
回复

使用道具 举报

ID:505121 发表于 2019-4-23 09:23 | 显示全部楼层
楼主,你好,可以重新发一份给我吗?下载后我用keil C51打开显示路径错误,
回复

使用道具 举报

ID:524923 发表于 2019-5-2 16:30 | 显示全部楼层
下载试试
回复

使用道具 举报

ID:524923 发表于 2019-5-2 16:31 | 显示全部楼层
非常感谢
回复

使用道具 举报

ID:419165 发表于 2019-5-3 10:48 | 显示全部楼层
ljchip 发表于 2019-4-3 08:02
NRF24L01发射+接受程序实测通过,谢谢啦

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

使用道具 举报

ID:419165 发表于 2019-5-3 10:49 | 显示全部楼层

请问大哥弄好了吗,我怎么调试不出来
回复

使用道具 举报

ID:319031 发表于 2019-5-3 21:23 | 显示全部楼层

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

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

快速回复 返回顶部 返回列表