stm32上NRF24L01无法通信的问题。。

之前早就用过这个模块, 但是最近用的时候,反复的调,,就是不能通信,,调了两天,终于调出来了,, 找到了问题所在。。。。


在stm32上面驱动NRF24L01,,需要初始化IO口,初始化SPI,配置NRF的寄存器,配置发送接收模式,最后调用发包收包函数就行了。


假如SPI的速度太快,,会导致NRF不正常,,无法读写寄存器。。


当程序下载到stm32上后,按复位键的次数不能太多,如果太多,会导致NRF不正常,无法通信,, 完全把供电去掉,然后通电,NRF才会正常。。。


搞了两天, 只搞出来了两句话。。。


最近又发现一个关于NRF的问题,,,我用的网上的一个程序, ,其中有一个函数是用来检测NRF的,, 检测的方法就是写入寄存器,再读出来,, 如果读出的数据与写入的相同,则表示有NRF存在。。。  这个写入的寄存器,,正是发送通道的地址。。。如果检测时,与初始化的时候不同,, 那就废了,, NRF一直不通信,检查好长时间也检查不出来程序哪个地方有问题。。。。

如图所示:


stm32上NRF24L01无法通信的问题。。_第1张图片

stm32上NRF24L01无法通信的问题。。_第2张图片



你可能感兴趣的:(嵌入式)