CH579蓝牙组网MESH配网信息掉电储存

背景:使用如下图所示的官方例程,查看官方的软件开发手册,配网信息应该是默认掉电储存的。

5e852394733ec83c49656d6a23d4c07.png

现象:实际烧录调试的时候,一个配网器节点A,一个普通节点B,第一次配网成功,A节点周期向节点B发消息。这个时候断电节点A,再重新上电,这个周期消息就没发了,是不是可以理解成配网节点丢失了,需要重新配网?

进入程序调试,如下图,如果配网信息掉电存储住了的话,应该会进上方的语句,重复上述操作,用DEBUG的reset代替掉电操作,程序一直进的else分支,想要查看配网信息具体存的地址,程序内也只有总体的首地址,调试进行不下去了。

求解,是我对掉电存储的理解有问题,还是其他地方出了问题?

32ae1420f33a73e622aa2b8a8e48643.png

初始化从flash内载入信息的语句


您好,检查一下“第一次配网成功,A节点周期向节点B发消息”此处调用TMOS事件是在哪个if分支调用的,如果是配网之后重新上电,是不会运行到else分支的。
调用reset函数,是会清除保存在dataflash中的网络信息的,所以会进入else分支,重新按照代码中保存的网络信息给自己配网,配网完成后会保存网络信息到dataflash中。

可以使用ISP工具,PB22接地或按下download按键得到的同时上电,在“功能”的“编译dataflash”中读取一下dataflash,看网络数据是否有保存。如果dataflash已保存网络信息,会进第一个if分支,从flash中恢复数据;如果dataflash没有保存,会进else分支。

image.png


只有登录才能回复,可以选择微信账号登录