Advertisement

NRF24L01调试(STM32F4、STM32F1、STM8L)

阅读量:

实际上,网络上关于NRF24L01的相关资料和示例代码非常丰富,按理说不应该出现什么严重问题,但实际操作中却遇到了许多奇怪的故障,耗费了不少时间。

  1. STM32F103+NRF24L01
    搭建了一个基于最小系统板的测试平台,并使用了网上的示例代码。在检测NRF24L01模块时始终无法识别,读写地址寄存器失败。最初怀疑是连接线路的问题,自己反复检查了连线以及引脚定义,均未发现问题。随后转而怀疑是SPI通信的问题,再次检查SPI配置也未发现明显错误。即便将分频设置到256仍无法解决。对此感到十分困惑,继续检查时序代码部分。由于这段代码是网上现成的本以为不会有问题,但最终还是发现了问题所在——网上提供的时序逻辑中先将CSN拉高,在发送完成后再将其拉低,这与规范流程明显不符。修改后程序运行正常。哎,网上的示例代码未必经过充分验证,请务必注意!

  2. STM32F407+NRF24L01
    使用自制的系统板并结合网上的示例代码进行测试时,初期遇到的问题与在STM32F103上类似。原本以为只要修正CSN信号的问题即可解决故障,但问题依旧存在!!!对此感到非常不解。反复检查引脚连接和SPI设置后仍然无果。由于这些配置都是通过CUBE生成的文件,理论上应该没有问题。随后开启在线调试功能后意外发现读写操作能够正常进行,并意识到可能需要增加一定的延迟时间。在后续程序中,在CSN

全部评论 (0)

还没有任何评论哟~