1、MAC ACK重发机制中,重发次数和超时时间分别是多少,是否可以修改?
2、APS ACK重发机制中,重发次数和超时时间分别是多少,是否可以修改?
Viki Shi:
建议参考这边详解:
bbs.eeworld.com.cn/thread-611126-1-1.html
blog.csdn.net/…/76451653
YiKai Chen:
參考一下 e2echina.ti.com/…/278038 這個帖子
user4711142:
回复 YiKai Chen:
// The maximum number of retries allowed after a transmission failure
uint8 zgApscMaxFrameRetries = APSC_MAX_FRAME_RETRIES;// The maximum number of seconds (milliseconds) to wait for an
// acknowledgement to a transmitted frame.// This number is used by polled devices.
uint16 zgApscAckWaitDurationPolled = APSC_ACK_WAIT_DURATION_POLLED;// This number is used by non-polled devices in the following formula:
//(100 mSec) * (_NIB.MaxDepth * zgApsAckWaitMultiplier)
uint8 zgApsAckWaitMultiplier = 2;请问这个polled devices 和 non-polled devices分别是什么意思?
YiKai Chen:
回复 user4711142:
polled devices 一般就是end device,non-polled devices一般就是路由設備
user4711142:
回复 YiKai Chen:
是不是将这两个参数改变,就可以延长ACK超时的时间
user4711142:
回复 YiKai Chen:
1、检测APS_ACK ,内部源码肯定又一个等待时间,这段时间内如果检测到APS ACK,就认为应答成功。
2、对于终端设备,当检测到APS_ACK失败后重新发送,增大APSC_ACK_WAIT_DURATION_POLLED,更改的是延迟发送的时间。而不是更改 等待APS_ACK正确的时间。我的理解对么?
3、如果1、2成立,那该如何更改等待APS_ACK正确的时间呢?
YiKai Chen:
回复 user4711142:
你說的"延长ACK超时的时间"是什麼意思?
user4711142:
回复 YiKai Chen:
1、判断APC ACK超时,有没有一个等待时间,等待多少ms后,认为APS_ACK失败。我想问判断APS ACK是否超时的等待时间是否可以更改
2、如下是协调器串口显示接收数据:Type:1ID:1完全一样。证明是协调器已经正确接收到了数据,但是终端没有检测ACK,导致重发了一次。
Type:2ID:3TransID: 212
Type:1ID:1TransID: 206
Type:1ID:1TransID: 206
Type:1ID: 12TransID: 191
这个该怎么办?能否通过延长 1 所说,让终端用更多的时间来判断ACK是否超时;如果不能有没有更好的办法
YiKai Chen:
回复 user4711142:
1. 就是改APSC_ACK_WAIT_DURATION_POLLED
2. 你終端設備的polling rate是多少?
user4711142:
回复 YiKai Chen:
3秒一次
TI中文支持网