这个案例把可输入的运行参数保存在 RW 掉电保持区,并在启动时恢复到 LW 工作地址。适用于少量、低频变化的设置值;存储介质和写入寿命应按目标屏型号核对。可下载 新版掉电保存演示工程,其中已经包含下述控件和脚本;重启恢复尚未稳定通过,需在目标硬件复测。
100;③读取地址为 LW1000,写入地址保持“与读取地址相同”;④数据类型选 UINT16。本例约定只输入 0~9999。main.lua,加入下方代码。保存后在 IDE 中检查脚本、编译工程,再运行模拟器检查输入和显示。

LW1000 作为运行时工作值、RW1000 作为保存值。on_init 读取保存值并恢复到工作地址;on_run 仅在有效值变化时写 RW,避免每个周期重复写入。空白或越界保存值按 0 处理。local setting_addr = 0x1000
local saved_addr = 0x1000
local max_setting = 9999
function on_init()
local saved = get_uint16(VT_RW, saved_addr)
if saved > max_setting then
saved = 0
end
set_uint16(VT_LW, setting_addr, saved)
end
function on_run(screen)
local current = get_uint16(VT_LW, setting_addr)
local saved = get_uint16(VT_RW, saved_addr)
if current <= max_setting and current ~= saved then
set_uint16(VT_RW, saved_addr, current)
end
end