单片机论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 939|回复: 2
收起左侧

基于nRF24L01的一对多无线通信stm32源码

[复制链接]
砚子儿 发表于 2017-7-25 09:26 | 显示全部楼层 |阅读模式
基于nRF24L01的一对多无线通信
0.png

单片机源程序如下:
  1. #include "led.h"
  2. #include "delay.h"
  3. #include "sys.h"
  4. #include "usart.h"         
  5. #include "24l01.h"          

  6. extern u8 RevTempDate0[32];                                                                                                                                                                                //通道0接收数据
  7. extern u8 RevTempDate1[32];                                                                                                                                                                                //通道1接收数据
  8. extern u8 RevTempDate2[32];                                                                                                                                                                                //通道2接收数据
  9. extern u8 RevTempDate3[32];                                                                                                                                                                                //通道3接收数据
  10. extern u8 RevTempDate4[32];                                                                                                                                                                                //通道4接收数据
  11. extern u8 RevTempDate5[32];                                                                                                                                                                                //通道5接收数据

  12. int main(void)
  13. {         
  14.         u16 t=0;                          
  15.         delay_init();                                     //延时函数初始化          
  16.         NVIC_Configuration();         //设置NVIC中断分组2:2位抢占优先级,2位响应优先级
  17.         uart_init(9600);                                 //串口初始化为9600
  18.         LED_Init();                                             //LED端口初始化
  19.         NRF24L01_Init();                    //初始化NRF24L01
  20.          
  21.         while(NRF24L01_Check())        //检查NRF24L01是否在位.       
  22.         {
  23.                 delay_ms(200);
  24.         }                                                                     
  25.         NRF24L01_RX_Mode();                  
  26.         while(1)
  27.         {                                                                                   
  28.                 if(NRF24L01_RxPackets()==0)//一旦接收到信息,则显示出来.
  29.                 {
  30.                         if(RevTempDate0[0] == 1 && RevTempDate0[1] == 'A'){
  31.                                 LED0 = 1;
  32.                                 LED1 = !LED1;
  33.                                 delay_ms(1000);       
  34.                                 LED1 = !LED1;
  35.                                 delay_ms(1000);
  36.                                 RevTempDate0[0] = 0;
  37.                                 RevTempDate0[1] = 0;
  38.                         }
  39.                         if(RevTempDate1[0] == 2 && RevTempDate1[1] == 'B'){
  40.                                 LED0 = 1;               
  41.                                 LED1 = !LED1;
  42.                                 delay_ms(1000);       
  43.                                 LED1 = !LED1;
  44.                                 delay_ms(1000);
  45.                                 RevTempDate1[0] = 0;
  46.                                 RevTempDate1[1] = 0;
  47.                         }
  48.                         if(RevTempDate2[0] == 3 && RevTempDate2[1] == 'C'){
  49.                                 LED0 = 1;               
  50.                                 LED1 = !LED1;
  51.                                 delay_ms(1000);       
  52.                                 LED1 = !LED1;
  53.                                 delay_ms(1000);       
  54.                                 RevTempDate2[0] = 0;
  55.                                 RevTempDate2[1] = 0;
  56.                         }
  57.                         if(RevTempDate3[0] == 4 && RevTempDate3[1] == 'D'){
  58.                                 LED0 = 1;
  59.                                 LED1 = !LED1;
  60.                                 delay_ms(10000);       
  61.                                 LED1 = !LED1;
  62.                                 delay_ms(10000);
  63.                                 RevTempDate3[0] = 0;
  64.                                 RevTempDate3[1] = 0;
  65.                         }
  66.                         if(RevTempDate4[0] == 5 && RevTempDate4[1] == 'E'){
  67.                                 LED0 = 1;
  68.                                 LED1 = !LED1;
  69.                                 delay_ms(1000);       
  70.                                 LED1 = !LED1;
  71.                                 delay_ms(1000);
  72.                                 RevTempDate4[0] = 0;
  73.                                 RevTempDate4[1] = 0;
  74.                         }
  75.                 }
  76.                 t++;
  77. ……………………

  78. …………限于本文篇幅 余下代码请从51黑下载附件…………
复制代码

所有资料51hei提供下载:
基于nRF24L01的一对多无线通信.rar (1.69 MB, 下载次数: 19)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

hhcc-smart 发表于 2017-7-27 11:22 | 显示全部楼层
楼主这个看上去貌似是多发一收吧,有什么特别之处吗?意义何在?
回复

使用道具 举报

w1764941428 发表于 2017-8-2 17:30 | 显示全部楼层
不会用
回复

使用道具 举报

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

本版积分规则

QQ|手机版|小黑屋|单片机论坛 |51hei电子论坛2群 联系QQ:125739409;技术交流QQ群219535678

Powered by 单片机教程网

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