我在RTCmem遇到以下问题:

我尝试计算模块所具有的重启次数,所以我在RTCmem位置1实现了一个计数器,每次模块启动时都会增加 . 位置0保持“魔术”数字,在冷启动后设置为55 .

当模块启动时,检查位置0是否为55,如果不是,则在其中写入55 . 如果该值已经是55,则位置1递增 .

我之前和之前都使用过这段代码,但是在最后一个版本中它发生了一件奇怪的事情:位置0,它保持55,写入并正确读取,并在重启后保持 . 位置1写入正确读取,但重新启动后返回0.按照测试代码

nrst1 = 0 magic = 0

magic,nrst1 = rtcmem.read32(0,2)

print(“inicial:”,magic,nrst1)

如果magic == 55那么rtcmem.write32(1,nrst1 1)
否则rtcmem.write32(0,55,1,9,9,9,9,9,9)结束

print(“valores:”,rtcmem.read32(0),rtcmem.read32(1),rtcmem.read32(2))

使用初始值和重新启动后的值来记录ESPLORER的日志 .

由pightanic.com分支定制的NodeMCU:主提交:c708828bbe853764b9de58fb8113a70f5a24002d SSL:真模块:adc,ads1115,bit,cron,ds18b20,file,gpio,http,i2c,mqtt,net,node,ow,rtcfifo,rtcmem,rtctime, spi,tmr,uart,websocket,wifi,tls build on 2018-10-14 09:56 powered by Lua 5.1.4 on SDK 2.2.1(6ab97e9)lua:无法打开init.lua

rst_status = 0 nrst1 = 0 magic = 0 magic,nrst1 = rtcmem.read32(0,2)print(“inicial:”,magic,nrst1)inicial:-150854757 0 if magic == 55 then

rtcmem.write32(1,nrst1 1)

其他

rtcmem.write32(0,55,1,9,9,9,9,9,9)

结束

print(“valores:”,rtcmem.read32(0),rtcmem.read32(1),rtcmem.read32(2))valores:55 1 9

我已使用较旧的固件(2017年2月,浮动)测试了此代码,并且正常工作,每次软重启时都会增加位置1 .

在硬件NodeMCU模块和分线板上的ESP-07中进行了测试 . 难道我做错了什么?