微波EDA网,见证研发工程师的成长!
首页 > 研发问答 > 无线和射频 > TI Zigbee设计交流 > zigbee终端掉线无法回到网络

zigbee终端掉线无法回到网络

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

zigbee终端设备运行一段时间后掉线无法回到网络中,通过串口输出信息观察到终端调用NLME_NetworkDiscoveryRequest进行发现网络,ret返回为0,然后ZDO_NetworkDiscoveryConfirmCB启动ZDO_NWK_DISC_CNF,在该时间中发现nwkStatus为1,。使用抓包工具发现没有发现终端设备发送的beacon request。

设备不断的在NLME_NetworkDiscoveryRequest,就是回不到网络。

在void ZDApp_ProcessOSALMsg( osal_event_hdr_t *msgPtr )处理ZDO_NWK_DISC_CNF消息时,

if ( ( (pChosenNwk = ZDApp_NwkDescListProcessing()) != NULL ) && (zdoDiscCounter > NUM_DISC_ATTEMPTS) )
{

ZDApp_NwkDescListProcessing返回的是多少? 

如果这个时候把终端设备重新复位下,能够加进去吗? 

试着修改下,下面的代码

void ZDApp_NetworkInit( uint16 delay )

{

+  if ( devStartMode == MODE_REJOIN )

+  {

+    _tmpRejoinState = true;

+  }

 

  if ( delay )

  {

    // Wait awhile before starting the device

    osal_start_timerEx( ZDAppTaskID, ZDO_NETWORK_INIT, delay );

  }

  else

  {

    osal_set_event( ZDAppTaskID, ZDO_NETWORK_INIT );

  }

}

感谢VV回复,我用的是ZHA 1.2.2A协议栈,在void ZDApp_ProcessOSALMsg( osal_event_hdr_t *msgPtr )处理ZDO_NWK_DISC_CNF消息时,ZDApp_NwkDescListProcessing返回为NULL,如果设备复位的话可以重新回到网络。

在ZDApp_NetworkInit中已经添加这段代码。

问题就卡在设备无法发出beacon request。ZDO_beaconNotifyIndCB函数没有被调用。导致无法找到父节点信息。

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

网站地图

Top