将变量的最后一个值记忆下来

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

PWM 调节服务器

--默认 PWM 值
pwm.setup(2,1000,512);
pwm.start(2);
点赞
用户131929
用户131929

如果您需要保存数据以便重启后仍可访问,则需要通过SPIFFS文件系统将其写入闪存内存。此处提供了一个文件写入的例子,来源于文档

-- 以'a+'模式打开'init.lua'文件
file.open("init.lua", "a+")
-- 将'foo bar'写入文件末尾
file.write('foo bar')
file.close()

如果您需要一些不那么永久的数据存储,您可以使用rtcmem模块,它提供了对RTC存储器的访问权限。那里存储的数据至少会在深度睡眠期间保存下来。

2016-09-01 08:58:33