OTA升级,路由与终端节点的区别
时间:12-22
整理:3721RD
点击:
终端在下载时比路由花费时间要长将近一倍的时间,116K,路由2min,而终端却需要将近4min;
程序中,下载开始后已经设置了MAC_RX_ON_WHEN_IDLE=true
case ZCL_OTA_START_CALLBACK:
if (pMsg->hdr.status == ZSuccess)
{
// Speed up the poll rate
RxOnIdle = TRUE;
ZMacSetReq( ZMacRxOnIdle, &RxOnIdle );
NLME_SetPollRate( 1000 );
}
还有哪里的设置可能导致花费这么长时间的情况出现呢?
期待您的回复!
把poll rate改的更小点
改过了,没作用的
其实我是觉得,
RxOnIdle = TRUE;
ZMacSetReq( ZMacRxOnIdle, &RxOnIdle );这样设置之后,或者在编译选项里面设置-DRFD_RCVC_ALWAYS_ON=TRUE,终端接收消息还是poll吗?
我测试过,
1、如果在编译选项里面设置-DRFD_RCVC_ALWAYS_ON=TRUE,那么POLL_RATE不管设置多少都没影响;
2、RxOnIdle = TRUE;
ZMacSetReq( ZMacRxOnIdle, &RxOnIdle );
同样,程序中通过命令修改,POLL_RATE的大小也是没有影响的
通过1和2设置按理说应该没有什么区别,但是实际上2比1的通信频率要低了很多,就像OTA的blockreq和blockrsp,1方法达到的效果和路由是一致
的