TI中文支持网
TI专业的中文技术问题搜集分享网站

终端设备休眠,父节点异常掉电

终端设备处于休眠状态,路由设备异常重启。结果终端设备无法重新组网。

我在父节点丢失时,调用退出休眠,如下:

 case BDB_COMMISSIONING_PARENT_LOST:  //父节点丢失GENERICAPP_END_DEVICE_REJOIN_DELAY秒后,重新入网。
      if(bdbCommissioningModeMsg->bdbCommissioningStatus == BDB_COMMISSIONING_NETWORK_RESTORED) //网络恢复
      {       }
      else
      {
           if(MYAPP_SLEEP_FLAG1 == 0x01) //休眠状态下丢失父节点
           {
             MyApp_DownSleep(1000,100,100,1000,1000); //退出休眠
           }
         osal_start_timerEx(zclGenericApp_TaskID, GENERICAPP_END_DEVICE_REJOIN_EVT, GENERICAPP_END_DEVICE_REJOIN_DELAY);
      }
    break;

void MyApp_DownSleep(uint32 PRate,uint32 QRate,uint32 RRate,uint32 BackTime,uint32 ScanTime)
{
  osal_pwrmgr_device( PWRMGR_ALWAYS_ON );
  osal_pwrmgr_task_state( zclGenericApp_TaskID, PWRMGR_HOLD );

  NLME_SetPollRate(PRate);//退出循环后,330ms轮询一次
  NLME_SetQueuedPollRate(QRate);//
  NLME_SetResponseRate(RRate);//
  ZDApp_SetRejoinBackoffDuration(BackTime);
  ZDApp_SetRejoinScanDuration(ScanTime);
}

经测试发现,设备根本没有退出休眠。想问一下,我这种方式让设备退出休眠是否有问题?有没有其他方式可以让终端退出休眠

YiKai Chen:

退出休眠只要調用osal_pwrmgr_device( PWRMGR_ALWAYS_ON );就可以了吧

赞(0)
未经允许不得转载:TI中文支持网 » 终端设备休眠,父节点异常掉电
分享到: 更多 (0)