保持内存为变量的最后一个值

Keep the memory to last value of the variable

我正在使用 ESP8266,我正在使用 Lua 语言对其进行编程。我创建了一个 PWM 函数,并在 ESP8266 中创建了一个服务器。我可以通过这个服务器改变 PWM 占空比(你可以看图)。首先,我将 PWM 设置为默认值,然后根据我的应用程序通过服务器更改 PWM。但是当我断开 ESP8266 的电源并再次连接电源时,占空比恢复到默认值。我想保存我通过服务器输入的最后一个 PWM 值,当我断开 ESP8266 的电源并再次连接到电源时,占空比将 PWM 值设置为我通过服务器输入的最后一个值。例如在下面,我将默认 PWM 值设置为“512”,当我根据我的应用程序更改 PWM 时,我保存了最后一个值,并且在重新连接过程之后(我在上面告知)我从内存中获取了最后一个 PWM 值PWM占空比从这个值开始。是否有像 EEPROM 这样的永久存储器可以用来保存最后的 PWM 值或任何其他建议的解决方案? (我必须使用 Lua 语言)

PWM adjusting server

--default PWM value 
pwm.setup(2,1000,512);
pwm.start(2);

如果您需要保留数据以使其在电源循环后仍然存在,那么您必须通过 SPIFFS 文件系统将其写入闪存。来自 docs:

的文件写入示例
-- open 'init.lua' in 'a+' mode
file.open("init.lua", "a+")
-- write 'foo bar' to the end of the file
file.write('foo bar')
file.close()

如果你需要一些不太永久的东西,那么你可以使用 rtcmem module 它提供对 RTC 内存的访问。保存在那里的数据至少可以在深度睡眠中存活下来。