This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

请教CC2530的2.5.1a协议下AF_DataRequest如何确认协调器接收到发送的消息

使用场景:

协调器C, 路由R。

正常情况下:R通过短地址0x0000,AF_DataRequest发送消息给协调器,显示返回状态0,为成功;

抓包文件看到C有mac层的ack确认帧;

出现问题的情况:将C断电后,R通过短地址0x0000,AF_DataRequest发送消息给协调器,仍旧显示发送成功。

抓包文件发现有重发三次,并且C没有返回ACK(C都断电了,让然没有ack了)。

分析:AF_DataRequest的返回状态应该只表明了发送成功,但是没有处理接收成功;

问题:

我应用层如何知道C没有接收到,因为消息不可以丢失,我可以怎么处理?

是否可行的方案:

1. 通过协调器收到消息后,应用层再返回数据帧;

2. 是否有应用层可以处理mac层的ack超时事件,用于择机重发。