问题:在调通一对NRF24L01后,当NRF24L01接收端更新程序或者按复位键后,通讯就无法正常运行,只有接收端断电重启后才能继续通讯
原因:STM32复位时,NRF24L01并没有复位,接收端依旧再接收,并产生中断,不再接收数据,但是STM32外部中断设置的是跳变沿触发,并不会进行处理
解决方法:在设置RX模式的函数中加入了清除RX FIFO和清除所有中断的指令
这是我第一次写博客,本人是自学STM32的,NRF24的使用是根据网上很多例程写的,之前使用就发现这个问题,但是一直在网上找不到原因(应该是我没搜到),直到这次重新梳理程序做实验,找到了这个错误点,就决定分享出来给可能遇到这个问题的同志。因为我技术水平还比较低,如果有错误的地方,请各位大神帮忙指正。
问题:在调通一对NRF24L01后,当NRF24L01接收端更新程序或者按复位键后,通讯就无法正常运行,只有接收端断电重启后才能继续通讯
原因:STM32复位时,NRF24L01并没有复位,接收端依旧再接收,并产生中断,不再接收数据,但是STM32外部中断设置的是跳变沿触发,并不会进行处理
解决方法:在设置RX模式的函数中加入了清除RX FIFO和清除所有中断的指令
这是我第一次写博客,本人是自学STM32的,NRF24的使用是根据网上很多例程写的,之前使用就发现这个问题,但是一直在网上找不到原因(应该是我没搜到),直到这次重新梳理程序做实验,找到了这个错误点,就决定分享出来给可能遇到这个问题的同志。因为我技术水平还比较低,如果有错误的地方,请各位大神帮忙指正。
举报