stm32H7中例程实验36 NRF24L01无线通信实验失败

2019-07-20 04:20发布

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

这里应该是原子哥的疏忽,因为在
sp181229_173144.png


还是正确的,希望可以帮到需要的人,只需要把分频参数改成SPI_BAUDRATEPRESCALER_32就可以了,这样SPI的频率就会变成6.25就OK了。

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。