E 系列 RW 区域(0x0000~0x7FFF)通常基于 EEPROM 或 FRAM,虽然支持掉电保持,但 写入寿命有限(通常约 10 万~100 万次
1、系统多语言寄存器0x119发送变化时,用RW系统寄存器保存,开机初始化读出RW的值写入0X119寄存器。
-- 初始化回调:设备上电或重启时执行
function on_init()
-- 从掉电保持寄存器 RW 0x0119 读取上次保存的多语言值
local cur_lang = get_uint16(RW, 0x0119)
-- 将该值写入系统寄存器 LW 0x0119,恢复多语言设置
set_uint16(LW, 0x0119, cur_lang)
end
-- 运行回调:周期执行(默认100ms)
function on_run(screen)
-- 获取当前系统寄存器中的多语言值(LW 0x0119)
local cur_lang = get_uint16(LW, 0x0119)
-- 获取保存在 RW 中的多语言值
local cur_lang_save = get_uint16(RW, 0x0119)
-- 如果当前语言值与保存值不一致(表示语言被切换)
if cur_lang ~= cur_lang_save then
-- 将新的语言值写入 RW 掉电保持寄存器,以便下次开机恢复
set_uint16(RW, 0x0119, cur_lang)
end
end