天线|RF射频
直播中

卞晓俊

7年用户 183经验值
私信 关注
[问答]

NRF24L01的调试经验分享

谢谢原子老师及前辈们宝贵的经验,让我2天调试好了NRF24L01。

1. 实现战绩开发板与STC15W4K(硬件SPI)通讯

2. 实现相互6发1收通讯,并能获取接收到数据的通道

3. 可指定通道任意接收地址通道发送或者默认发送地址发送

4. 默认发送通道地址及接6收通道接收地址已用数组留出,可自由更改



经验总结:

1. NRF24L01同一时刻只能往一个通道地址发送,且发送地址与接收通道0地址相同!

2. NRF24L01拥有6个接收通道,并具有自动应答。

3. 接收通道0和接收通道1 地址完全独立(5字节),接收通道2至通道5低8位独立高字节与通道1地址相同。

4. 在写入接收通道地址时,接收通道0和接收通道1必须写满5字节!通道2至通道5可只写低字节(1个字节)。

5. 所有寄存器写必须在CE=0(待机)时才能写入



程序说明:

1. 基本只改了一点点原子老师的例子,加了几个功能函数。(指定通道发送,返回接收到的数据及数据通道号)

2. NRF24L01与其它文件独立,只需提供SPI读写函数(底层)及可正常运行

3. 工程接收模式默认开启所有接收通道及自动应答,32字节接收数据宽度

4. 默认发送通道地址及接收通道地址已用数组留出。发送通道地址为一维数组,接收通道地址为二维数组,用户可随意更改。地址说明请看程序。

5. 战绩开发板接受模式显示接收数据及接收通道。发送模式则以6个接收通道地址为发送通道地址轮流发送数据。



战舰开发板例程:

  

STC15W4K32S2无线模块工程:



实验32 无线通信实验.zip (352.06 KB )
51_NRF24L01_多收一发.zip (63.48 KB )

回帖(12)

马昱

2020-6-10 09:13:50
谢谢分享,顶~
举报

蔡艳

2020-6-10 09:30:34

谢谢,呵呵
举报

鄢蓉

2020-6-10 09:36:11
不错,谢谢分享。。。
举报

余姗姗

2020-6-10 09:46:08

我参考了你的例子,自己写了2发一收的,但是为什么三发一收就不行了呢?求教
举报

更多回帖

发帖
×
20
完善资料,
赚取积分