其实网上NRF24L01的资料很多,例程也很多,本不应该有什么大问题,但是确出了各种奇怪的问题,花了不少时间。
- STM32F103+NRF24L01
用最小系统板搭了个平台,加上网上的例程,问题是检查NRF24L01的时候,一直没法找到,读写地址寄存器失败,起初怀疑是引线的问题,自己检查连线以及针脚定义,都没有发现问题,既然针脚没有问题怀疑是SPI通讯的问题,接着检查SPI配置,都没有发现明显的错误,尽管分频到256还是不行,十分不解,检查时序代码,因为是网上现成的代码本来想不应该有问题,但是还真的发现问题了,发现网上时序先是将CSN拉高!发送结束后再拉低!这个明显不符,修改后运行正常,哎,网上人家给的例程未必人家就验证过,切记! - STM32F407+NRF24L01
用自己做的系统板子,加上网上的例程搭了下,起初的问题和在f1上的一样,心想只要更改了CSN的问题就也能解决,但是问题依旧!!!十分不解,反复检查引脚连接以及SPI设置,因为都是CUBE生成的配置文件,应该不会有问题啊,开启在线调试,意外发现读写能正常,意识到估计需要加延迟,后续的程序中CSN拉低后加了HAL_DELAY(1),程序就能正常运行了。 - STM8L051F3+NRF24L01
自己刚刚接触STM8,这是我第一个做的东西,很多地方都不是很熟悉,stm32用cube就能方便的生成配置,STM8也有cube但是不能生成配置。。。那有啥用!要手动