之前系统存在一个问题,在协调器中断后,终端不能再次连接,这对于系统的正常运行是不可接受的,于是对代码进行跟踪分析,最后也没有得到想要的结果,在ZDO_beaconNotifyIndCB中无论是成功还是不成功,实际上还是加入不了网络。下午开始网络搜索,忽然发现有关于配置的操作:
在编译为协调器是,加入NV_RESTORE,用于保存在运行中的状态参数
擦除原有保存的信息,保存新的连接
经测试,方法可用,在协调器断电重启后一段时间(测试约60秒,应该和配置有关),会恢复正常。但目前未能达到闭环,如更换网络,用了一个长按键来处理,在需要更换网络时,长按此键即可触发以下代码:
zgWriteStartupOptions(ZG_STARTUP_SET, ZCD_STARTOPT_DEFAULT_NETWORK_STATE);
SystemReset();
未经测试。