cc2530-2.5.1a
关闭aps发送数据到不存在的终端,也会收到mac层发送成功
Viki Shi:
MAC ACK不能确保发送成功。只要正确调用了AF_DataRequest()发送数据,就会返回AF_DATA_CONFIRM_CMD事件,无论传输成功与否。要保证数据接收,请使能APS ACK
user6314671:
回复 Viki Shi:
你好,我现在使能了 APS_ACK,但是重发次数和间隔时间和我设定的完全不一样,无论如何设定都没有任何改变。设定值:
-DAPSC_ACK_WAIT_DURATION_POLLED=250
-DAPSC_MAX_FRAME_RETRIES=0
-DNWK_MAX_DATA_RETRIES=0
而且我将mac_pid.c 中的 macPibDefaults 关于重发次数也更改了如下0,//3,/* maxFrameRetries */
Viki Shi:
回复 user6314671:
所以你的目的是什么?关闭重传?
user6314671:
回复 Viki Shi:
减少重发次数以及重发时间间隔,比如说重发次数1 间隔500ms。这样如何配置?
Viki Shi:
回复 user6314671:
参考bbs.eeworld.com.cn/thread-611126-1-1.html
user6314671:
回复 Viki Shi:
这个文章我看过,也尝试更改了重发次数和间隔,但是并没有什么变化,文章中说收不到mac_ack 才尝试应用层重发,我看到ti论坛上说 收不到mac_ack,低层尝试发送8次数据还是收不到ack,就不会触发应用层重发
Viki Shi:
回复 user6314671:
你目前看到是多少次重发?是通过什么确定实际重发次数的?
user6314671:
回复 Viki Shi:
没有监控次数,只改变间隔时间,使能aps_ack,失败进入到AF_DATA_CONFIRM_CMD时间都是9s
Viki Shi:
回复 user6314671:
1、建议还是能抓包看一下,比较清晰
2、如果使能了APS ack,那么AF_DATA_CONFIRM_CMD以APS ack为准,AF_DATA_CONFIRM_CMD是success还是其他值?
user6314671:
回复 Viki Shi:
因为我在AF_DATA_CONFIRM_CMD中只判断是否为ZSuccess,每次进入非ZSuccess时间间隔都一样,尽管我更改了时间间隔配置.