这几天在一直调试 NRF24L01模块,手上一共有有三块这个模块,两个是泽耀科技的另外一个是不知道哪家的,然后调用正点的程序实现通讯,H7作为接受端,另外一块F1作为发射端,分别驱动NRF24L01。结果诡异的事情出现了,接受的数据好多不正确,而且有的数据是对的,很疑惑。过了一会竟然自己又正常了。实在是很无语。第二天早晨发现不知知道什么牌子的模块已经坏掉了。不能发送也不能接收,但是诡异的是写和读寄存器还是正常的。但是确实是不能用了(主要是中断的那个引脚不能变化
)。之后找原因发现是程序中设定SPI速度这里出现了问题。设定的分频参数是SPI_BAUDRATEPRESCALER_16这样spi的频率是200/16=12.5M是大于NRF24L01的10M的最大通信速度的,
这里应该是原子哥的疏忽,因为在
还是正确的,希望可以帮到需要的人,只需要把分频参数改成SPI_BAUDRATEPRESCALER_32就可以了,这样SPI的频率就会变成6.25就OK了。
一周热门 更多>