芯片在发送一个ACK包的时候,如果重传次数超过ARC,就会引起MAX_RT中断。 只有TX FIFO中没有数据包,才能彻底清除MAX_RT中断。如果TX FIFO中有数据包,在清MAX_RT中断后,系统又开始重传FIFO里的最先压入的一个数据包,直到传输成功或者重传次数再次超过ARC。
如果想丢弃TX FIFO中的数据包,可以执行FLUSH TX FIFO 命令,把TX FIFO清空。
故清除MAX_RT需要依次执行如下步骤:
将TX FIFO清空(FLUSH TXFIFO);
清除MAX_RT标志位;
RX_DR和TX_DS中断只要分别向其写1就可清除。
上一篇:初接触nRF2401A/nRF24L01/nRF24L01+无线模块
下一篇:NRF24L01无线模块如何过FCC和CE标准
推荐阅读最新更新时间:2024-03-16 14:23