设备的网络状态如何自检(ZDO_STATE_CHANGE 手动触发?)
时间:10-02
整理:3721RD
点击:
终端设备手动触发来加入协调器,入网后触发ZDO_STATE_CHANGE 通过指示灯来显示设备的网络状态,在设备不断电的情况下都正常,但当设备重启时(有NV_RESTORE),设备还能正常被协调器控制,但是指示灯却还是没有入网状态,即不能触发ZDO_STATE_CHANGE 来控制指示灯,通过zb_GetDeviceInfo函数检测也是DEV_HOLD状态,而不是DEV_ROUTER,请问这种情况下设备的网络指示灯问题有什么好的办法来处理,谢谢
你是在哪个版本的协议栈上面做的测试,如果获取到的状态时你DEV_HOLD的话,那么协议栈都hold在那边,根本没有运行起来的。
麻烦确认下。
z-home 1.2.2a
掉电重启时与协调器的通信都正常啊,收发都OK,我现在想让网络指示灯也和掉电前一样处于熄灭状态,但是设备的状态是DEV_HOLD,不是应该在上电时回复掉电前的状态DEV_ROUTER么;
在状态是DEV_HOLD时如果我通过按键再次触发ZDOInitDevice(0);是可以进入ZDO_STATE_CHANGE熄灭指示灯的,但是这样会显得很笨拙,我现在就是想让设备在在网络中和不在网络中指示灯处于两种不同状态该怎么做比较好呢