This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

ZDApp_StopJoiningCycle 在网络很拥挤的情况下,会不成功,30ma电流消耗,且设备一直在发end device

小弟在开发 zigbee单火线设备 ,要实时控制功耗,功耗太大灯闪烁

代码如下

case ZDO_STATE_CHANGE:

    if ((devStates_t)(MSGpkt->hdr.status)== DEV_END_DEVICE)
    {
        osal_stop_timerEx(ztMyMain_Process_TaskID, EVT_NETWORK_HANDLE);
        Ztcount_of_scanner_failure = 0;
        flag_of_first_join_after_reset=0;
    }
    else
    {
        ZDApp_StopJoiningCycle();
        osal_pwrmgr_device( PWRMGR_BATTERY );
        osal_start_timerEx(ztMyMain_Process_TaskID, EVT_NETWORK_HANDLE, ztCharge_Time_for_ready_join);
    }

然后定义了个事件

void EVT_NETWORK_HANDLE_CB(void)
{
        ZDApp_StartJoiningCycle();
}

在网络很闲暇的时候  一断网 系统立即停止加网络,效果很好

但是当网络很繁忙的时候 end device 却有概率不能加入网络  ,又不睡眠 导致功耗一直维持在30ma 然后系统因为耗电太大 灯不断闪烁,请问有什么解决办法