nRF24L01调试问题及解决方案(软件复位)

问题描述:

nRF24L01初次上电没有任何问题,单片机复位或者更新程序之后,nRF24L01接收模式不工作。但是给电路板重新上电之后问题得以解决。

问题产生原因:

单片机突然停止对nRF24L01的SPI操作,中断之后产生了一些莫名的现象。比如我遇到的情况是,接受缓冲器有数据,而中断管脚则不再响应。

由于电路板不断电,那说明nRF24L01不会存在上电复位这一环节。不幸的是,这玩意居然没有软件复位功能。

解决方案:

第一,   读取STATUS寄存器内容,然后写进去。用来清状态寄存器的标志位。此时要注意RXFIFO的状态。出问题了一般不会是111.

第二,   既然数据缓冲区有数据,那说明需要把数据读出来。读完之后无论是FIFO状态寄存器还是STATUS寄存器,都会有响应的变化。

第三,   既然知道问题所在了,就应该在初始化的时候检测一遍缓冲区状况。把里面的残留的数据给释放掉。这是一劳永逸的方法。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值