微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > 终端节点切换父节点,Rejoin失败,一直停留在ZDO_NETWORK_INIT事件中反复循环

终端节点切换父节点,Rejoin失败,一直停留在ZDO_NETWORK_INIT事件中反复循环

时间:10-02 整理:3721RD 点击:

网络环境中有一个协调器,多个路由器,终端节点的父节点为路由器。终端节点向协调器发送数据,路由器均成功转发,且终端节点有Data Poll包发给路由器。

当路由器切断电源后,终端节点重新搜索父节点,然后反复进入ZDApp_event_loop的ZDO_NETWORK_INIT事件。通过跟踪函数ZDO_StartDevice发现当执行到ret = NLME_NetworkDiscoveryRequest( zgDefaultChannelList, zgDefaultStartingScanDuration )时,ret的值为0xC2。

出现这种情况有一定的概率性,当终端节点发送数据的密度越高,出错越高。因此怀疑AF_DataRequest函数以及NLME_SetPollRate与NLME_NetworkDiscoveryRequest存在互斥条件(执行NLME_NetworkDiscoveryRequest前已经执行过nwkNeighborInitTable和NLME_NwkDiscTerm),因为RESPONSE_POLL_RATE的值为100,所以我在调度AF_DataRequest后1000ms(1s)后又补发了一次NLME_SetPollRate,这是否会影响NLME_NetworkDiscoveryRequest的结果?

aries 返回oxc2的原因是,_NIB.nwkstate 一直是end device

VV,我也发生了这个问题,返回值一直都NWK_ENDDEVICE,这个该如何解决呢?在线等啊!

这个问题解决了吗?我也发生了这样的问题了!有什么好办法能够解决吗?

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top