在【4. 数据传输原理第二讲】中,描述过PTX和PRX之间双向通信的基本过程。
里面说过, PTX 掌管着通信过程的主动权,其中一项就是等待PRX端回复时,如果超过限定时间,则PTX会将刚刚发过的数据包再重新发送一次。
这个超时重发还是有不少道道可说的,这一节单拎出来讲讲超时重发机制。
再强调一下:
超时和重发只跟PTX
有关系,没PRX什么事儿,所以相关寄存器的配置操作,只在PTX端的nrf24l01上配置即可,PRX端不用配置
上面这两张图(datasheet第43页)描述了两种导致超时重发的意外场景。
图上的内容很多,一时看不明白也不要紧,很多和本节内容无关。
只关心我红框标出的位置即可,跟着下文的描述走就行了。
红圈叉号表示数据包传输时意外丢失(电磁波干扰、信号太弱、PRX没准备好、PRX解析数据出错等等各种意外情况);
矩形红框圈出的是程序给PTX设定好的超时时间,简称 ARD (Auto-Retransmit-Delay)
任何一次PTX和PRX之间的通信过程,由PTX负责启动: