无线通讯中可能存在各种干扰,一次发射并不能100%送达,为了提高发射的成功率,nrf24提供了重发机制。发射一个数据包,必须收到对方响应才算发送完成,否则会进行多次尝试。
发送端通过配置寄存器 SETUP_RETR 开启发射重试机制,可配置重发超时时间,以及重发次数。
nrf24_setup_retr.png

接受端配置寄存器 EN_AA 开启对应管道的自动确认机制。
nrf24_en_aa.png

使用重发机制,双方的CRC都必须开启。
如果发射放 需要收ACK确认信号,则需要配置RX_ADDR_P0 的值等于TX_ADDR。
有一点需要注意的是,当重发次数到达最大还没发送成功,需要清理寄存器 STATUS 的 MAX_RT 位,否则无法再进行任何发射。

标签: none

添加新评论