ZDApp_StopJoiningCycle 在网络很拥挤的情况下,会不成功,30ma电流消耗,且设备一直在发end device
时间:10-02
整理:3721RD
点击:
小弟在开发 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 然后系统因为耗电太大 灯不断闪烁,请问有什么解决办法
同样问题我也遇到过,不知道原因