现象:因为终端是可移动的,终端在采集数据后可能会掉出网络范围导致数据发送失败,现在我把发送失败的数据保存一个buff里面等待重新加入到网络再次发送出去。终端采集的数据是1s1个。11s发一次。
问题:等到终端重新加入到网络发现有会对变量进行初始化,之前buff保存的值都没了。
这个问题怎么解决?各位大神前辈们
gaoyang9992006:
关键数据可以存储起来,重新联网的时候再读取出来就行了。全局变量的话应该不会被初始化,除非系统也重启了。
user5995066:
回复 gaoyang9992006:
重新入网是系统重启吗?我用的是全局变量
Alvin Chen:
回复 user5995066:
重新入网并不会重启设备,应该是你程序的问题,如果你想掉电保存需要把数据存在NV里面
user5995066:
回复 Alvin Chen:
问题就是终端再次加入网络后,之前全局变量buff的数据都重新为0了,您是说我程序里面加了某些预编译选项吗?
Alvin Chen:
回复 user5995066:
不是这样的,我认为你的程序某些逻辑导致的。你去debug一下吧。