我在协调器中加入了
1、通过串口添加给协调器添加白名单的功能;
2、将终端设备的网络地址和自定义ID号一一对应,比如E1 对应终端1,R1对应路由1。之后通信时,通过自定义的ID号来指定目标网络地址。
问题:当我的协调器异常复位后,遇到如下问题:
1、协调器瞬时复位,所有终端均能恢复到原来的网络中。之后终端异常复位,因为协调器白名单复位时被清空,导致终端无法入网;
2、关闭电源1-2秒后,重新上电,所有终端设备重新搜索网络,因为协调器白名单被清空,导致设备无法入网。
这两个问题应该都是因为复位后,白名单被清除了,想问一下,有没有好的办法,可以让协调器上电初始化时,恢复白名单。
YiKai Chen:
把白名单存到NV,让协调器上电初始化时,恢复白名单
Alvin Chen:
你可以把你的数据保存在NV里面,掉电不丢失。
user4711142:
回复 YiKai Chen:
1、怎么存储到NV?
2、内部flash都存储些什么信息,包括代码么
3、这个是的程序编译完成后的输出提示: 我经常碰到提示XDATA不足,如果我把白名单存放在NV中,占用的是那段内存?
108 831 bytes of CODEmemory26 bytes of DATAmemory (+ 88 absolute )5 787 bytes of XDATA memory192 bytes of IDATA memory8 bitsof BITmemory598 bytes of CONST memory
user4711142:
回复 YiKai Chen:
写入自己的白名单到NV中,应该从哪个位置开始写,会不会覆盖点协议栈中,保存在NV的信息
YiKai Chen:
回复 user4711142:
用osal_nv_write/osal_nv_read、NV ID用0x0400之後的值