找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 5793|回复: 3
收起左侧

stm32野火的nrf24l01无线接收2.4G

[复制链接]
ID:226003 发表于 2017-8-9 13:45 | 显示全部楼层 |阅读模式
这是野火的无线接收,希望共同学习
0.png
所有资料51hei提供下载:
16、无线传输-2.4G.rar (594.4 KB, 下载次数: 156)


stm32单片机源程序如下:
  1. /**
  2.   ******************************************************************************
  3.   * @file    main.c
  4.   * @author  fire
  5.   * @version V1.0
  6.   * @date    2013-xx-xx
  7.   * @brief   2.4g无线模块/nrf24l01+/master 测试
  8.   ******************************************************************************
  9.   * @attention
  10.   *
  11.   * 实验平台:野火 iSO STM32 开发板
  12.   *
  13.   ******************************************************************************
  14.   */
  15.   
  16. #include "stm32f10x.h"
  17. #include "bsp_usart1.h"
  18. #include "bsp_spi_nrf.h"

  19. /*
  20. * PA2  -  PG8   ce使能
  21. * PA1  -  PG15  cs片选
  22. * PA3  -  PC4   irq中断
  23. */
  24. u8 status;        //用于判断接收/发送状态
  25. u8 txbuf[4]={0,1,2,3};         //发送缓冲
  26. u8 rxbuf[4];                         //接收缓冲
  27. int i=0;

  28. /**
  29.   * @brief  主函数
  30.   * @param  无
  31.   * @retval 无
  32.   */
  33. int main(void)                  
  34. {   
  35.   SPI_NRF_Init();

  36.   /* 串口1初始化 */
  37.   USART1_Config();

  38.   printf("\r\n 这是一个 NRF24L01 无线传输实验 \r\n");
  39.   printf("\r\n 这是无线传输 主机端 的反馈信息\r\n");
  40.   printf("\r\n   正在检测NRF与MCU是否正常连接。。。\r\n");

  41.   /*检测NRF模块与MCU的连接*/
  42.   status = NRF_Check();

  43.   /*判断连接状态*/  
  44.   if(status == SUCCESS)          
  45.     printf("\r\n      NRF与MCU连接成功!\r\n");  
  46.   else          
  47.     printf("\r\n  NRF与MCU连接失败,请重新检查接线。\r\n");

  48.   while(1)
  49.   {
  50.     printf("\r\n 主机端 进入自应答发送模式\r\n");
  51.     NRF_TX_Mode();

  52.     /*开始发送数据*/       
  53.     status = NRF_Tx_Dat(txbuf);          

  54.     /*判断发送状态*/
  55.     switch(status)
  56.     {
  57.       case MAX_RT:
  58.         printf("\r\n 主机端 没接收到应答信号,发送次数超过限定值,发送失败。 \r\n");
  59.       break;

  60.       case ERROR:
  61.         printf("\r\n 未知原因导致发送失败。 \r\n");
  62.       break;

  63.       case TX_DS:
  64.         printf("\r\n 主机端 接收到 从机端 的应答信号,发送成功! \r\n");                        
  65.       break;                                                                 
  66.     }                                  

  67.     printf("\r\n 主机端 进入接收模式。 \r\n");       
  68.     NRF_RX_Mode();

  69.     /*等待接收数据*/
  70.     status = NRF_Rx_Dat(rxbuf);

  71.     /*判断接收状态*/
  72.     switch(status)
  73.     {
  74.       case RX_DR:
  75.       for(i=0;i<4;i++)
  76.       {                                       
  77.         printf("\r\n 主机端 接收到 从机端 发送的数据为:%d \r\n",rxbuf[i]);
  78.         txbuf[i] =rxbuf[i];
  79.       }
  80.       break;

  81.       case ERROR:
  82.         printf("\r\n 主机端 接收出错。   \r\n");
  83.       break;                 
  84.     }
  85.   }// while(1)
  86. }
  87. /*********************************************END OF FILE**********************/
复制代码




回复

使用道具 举报

ID:523269 发表于 2019-4-27 21:56 | 显示全部楼层
找了很久,下载看看,谢谢了
回复

使用道具 举报

ID:103937 发表于 2019-5-2 16:35 | 显示全部楼层
学习一下,下载看看^^^^^^^^^^^^^^^^^^^^^^^^^^……………………
回复

使用道具 举报

ID:846113 发表于 2021-7-28 16:08 | 显示全部楼层
找了很久,下载看看,谢谢了
回复

使用道具 举报

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

本版积分规则

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

Powered by 单片机教程网

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