Other Parts Discussed in Thread: CC2538, CC2530, Z-STACK
一个协调器 一个节点 ZHA1.22a,协调器收到串口数据通过无线转发给节点,通过串口打印发现偶尔有AF_DataRequest()返回成功,抓包却没有这个数据的情况。
相同的程序,使用cc2538作为协调器就会出现这个情况,cc2530作为协调器却没有这种情况。
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.
请问TI的大神们,AF_DataRequest()返回0x00 可以确定数据被发送出去吗
请问您是否有收到AF_DATA_CONFIRM_CMD?当option中使能了AF_ACK_REQUEST时,会有AF_DATA_CONFIRM_CMD事件返回
不能,返回0x00只是表示数据只是到了NWK层的buffer里面,你的AF_DataRequest函数返回速度取决于你cortex M3 MCU的处理速度,而buffer里面的数据到射频取决于IEEE802.15.4的250kbps的速度。
buffer里面的数据是否发出去,在消息AF_DATA_CONFIRM_CMD中查询返回的status,该消息由发射FIFO发射完后的中断产生。
感谢Susan Yang 和 Aries Lord的回复!
使能AF_ACK_REQUEST是于增加了AF层的重发机制,当消息得不到APS层应答时,会重发。
我在Z-Stack Home 1.2.2a.44539的SampleDoorLock上只增加 间隔200ms发送数据及打印 的功能,且不使能AF_ACK_REQUEST,当做协调器测试数据传输成功率,数据中的序列号依次增加,以此判断是否丢包。sniffer抓包256包中有10包数据没有发送出来,但串口打印出所有序列号,及zcl_SendCommand的返回值0x00,有可能是什么愿意能导致丢包呢?1.psd