z-stack NWK层的重发能否改次数?
时间:10-02
整理:3721RD
点击:
协议栈z-stack home 1.2.2a,故意制造了一次单播重发。
从图中看出,重传了1次。
1,重传次数在哪里可以修改?为什么NWK_MAX_DATA_RETRIES无效?
2,根据截图,NWK重传发生在10ms的时候,扣除上一帧的长度(2464us),LIFS时间(640us)和ACK等待时间(864us),共计3968us。加上1ms左右的CSMA时间,大概共计5ms。如果NWK重传的触发条件是MAC_MCPS_DATA_CNF,那么能否说明TI-MAC层的最大传输速率是(10-5)ms每帧?
3,为什么我经常在测试连续通信是,AF_DATA_CONFIRM_CMD中指示错误0xE1(信道干扰),但是对方依然收到了数据。

对就是这个变量。
总共8条数据包,MAC Sequence Number后面4条比前面4条多1,后面4条就是网络层发起的重传。
后面4条,说明是1次重发啊。NWK_MAX_DATA_RETRIES是2那就应该有2次重发。而且修改NWK_MAX_DATA_RETRIES值也无法修改重发次数。
在mac_pib.c 中 macPibDefaults 中mac层的重发也要设置。我使用的时候发现 会以 /* maxFrameRetries */ 和 NWK_MAX_DATA_RETRIES 两个中选择次数多的那个为准
maxFrameRetries是MAC层触发,默认3次,加上一次主发,一共四次,最后返回MAC_MCPS_DATA_CNF
