NRF24L01 无线通信模块使用方法

版权声明:Love Open Source —— 超低空 https://blog.csdn.net/MC_hust/article/details/39473913

原文出处:http://blog.csdn.net/mc_hust/article/details/39473913


昨天登录百度账号,无意间发现漏看了好多朋友的私信,其中不少是找我探讨关于NRF2401模块的。从12年到14年的信件都有(平时很少注意系统提示信息。。。)。

hust-MC.jpg

实在不好意思,也许很多朋友已经搞定这个模块了,也许有的还在研究。用了半天的时间找出了相关资料并整理好,在这里统一共享给大家,希望能够帮到大家。

NRF24L01是在2012年全国电子设计大赛中使用过的一款无线通信模块,通过SPI向芯片写入数据从而控制芯片发送、接收消息。2401的官方手册下载链接可以在文章的末尾找到。下面是我总结的几点使用步骤,大家也可以直接跳过下面的讲解,因为下载链接里面已经有非常完整的配套数据手册。如果在使用过程中遇到什么问题,或者需要单片机配套源代码,可以随时来这里给我留言,大家一起讨论,相互学习~~

操作步骤:

  1. 模块初始化。初始状态时,LED、CE、SCK引脚均拉低,CSN拉高,SPI初始完成。随后分别设置SPI接收,发送的地址。设置工作频道、数据长度、发射频率等信息。模块随即进入等待状态。
  2. 设置工作模式。拉低CE设置为stand by I 模式,配置SPI读写寄存器,随后拉高CE,短暂延时。配置好工作模式(所有工作模式及相应寄存器位详见数据手册)。
  3. 发送:打包好数据,通过NRF24L01_TxPacket()函数发送数据包;
    接收:通过NRF24L01_RxPacket()等待数据的到来。

PS:代码中有多处短延时,由于SPI对于时序要求高,一定要查清楚所用主控芯片的晶振,指令周期。延时不当会直接导致模块无法正常工作!


        大家在使用中还有什么疑问,欢迎随时来讨论。
另外,很多朋友通过百度知道向我询问源代码,但是由于百度账号登陆的不多,未能即时回复。如果大家需要配套源代码,可以在下面留下联系方式,我会即时的将源代码发送给各位,希望能够帮到大家~~ 谢谢!

文档链接:http://yun.baidu.com/share/link?shareid=1590497368&uk=67973003



原文出处:http://blog.csdn.net/mc_hust/article/details/39473913


猜你喜欢

转载自blog.csdn.net/MC_hust/article/details/39473913