谢谢原子老师及前辈们宝贵的经验,让我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 )