关于两终端绑定,协调器广播转发控制命令慢的问题
时间:10-02
整理:3721RD
点击:
大家好,在测试验证绑定功能中,用的ZStack-CC2530-2.5.1a的simpleAPP,原来的代码是终端switch 绑定 协调器controller,用switch上的按键控制 controller上的LED灯,这种方式,switch板子上按下按键,controller上的灯马上就响应了,延时很短。
我改了一下绑定的方向,用协调器controller上的按键去控制switch上的LED灯,同样的流程方式,发现 当controller上的按键按下去之后,switch上的灯要延迟1s左右才会有响应,用sniffer抓包,发现,按下按键,协调器不是马上就发包出去了,有个延迟时间跟时间看灯的响应差不多。
为了继续验证,我用3个板子,2个终端(A板:LED,B板:switch),1个协调器(C板),同样的通过按键方式绑定,用B板 switch的按键同时绑定A板的LED和C板的LED,当按下B板的按键,C板的LED灯马上就响应了,而A板的LED灯还是有同样的延迟响应现象。
用sniffer抓包,B板按下按键有连续发2个包给到协调器,但协调器转发给A板的包,同样是有延迟几百ms。附近是抓包数据
不明白这个延迟到底是什么原因引起的?要改哪才能响应变快? 有把xPOWER_SAVING去掉,f8wConfig_cfg 中的RFD_RCVC_ALWAYS_ON=TRUE 也试过,跟休眠和低功耗没关系。
麻烦TI的工程师帮忙指点一下,卡很久了,谢谢!
你不要编译为EndDevice,你编译为router. ED使用poll方式,由父节点暂存数据。就是说ED会睡眠,然后周期醒来向父节点要数据。