使用UI‑Debugger控制RTC时钟

一、RTC特殊寄存器总表(全部为16bit无符号寄存器)

寄存器地址 功能 有效值(现实逻辑十进制) 报文内传输16bit十六进制值
0x7002 年 2000‑2099 十进制年份直接转为16bit十六进制,例:2025 → 0x07E9
0x7003 月 1‑12 例:9月 → 0x0009
0x7004 日 1‑31 例:9日 → 0x0009
0x7005 小时 0‑23(强制24小时制,无12小时模式) 例:12点 → 0x000C
0x7006 分钟 0‑59 例:30分 → 0x001E
0x7007 秒 0‑59 例:45秒 → 0x002D
0x7008 时间确认寄存器 固定写1 0x0001

✅关键点:

  1. 先依次写 0x7002 ~ 0x7007;最后必须写0x7008 = 0x0001,写入的整套时间才加载进硬件RTC开始计时,不写确认,时间完全不生效。
  2. 星期:芯片内部自动计算,没有写寄存器,也不能写星期。
  3. 寄存器报文传输:发送的是16位二进制数值(写成16进制方便代码编写),不是ASCII字符串。
  4. UI‑Debugger‑III调试软件输入框填十进制数字,软件内部自动转换成16bit十六进制报文;手写原始串口报文,必须填转换后的十六进制字节。

二、UI编辑器中两个时钟控件使用

1. 数字时钟 Digital Clock

  1. 直接放置控件,不需要填写writeAddr变量地址;
  2. 控件自动读取芯片内部RTC寄存器,画面自动实时刷新时间;
  3. 可配置:字库ID、字体颜色、时间显示格式(Y‑M‑D H:M:S等);
  4. MCU串口修改RTC寄存器后,画面自动更新,不需要额外给时钟控件发指令。

2. 模拟时钟 Analog Clock(表盘指针时钟)

  1. 无需绑定变量地址;自动读取系统RTC;
  2. 需要配置表盘底图、时针/分针/秒针图片素材;
  3. RTC时间变化,指针自动旋转。

❗重要:这两个时钟控件不能通过parameterAddr参数地址直接修改时间,只能修改控件外观;修改时间只能操作0x7002‑0x7008特殊寄存器。

三、写RTC时间完整操作流程(示例时间:2025‑09‑09 12:30:45)

按照乐升【串口写数据指令】,依次发送7条写寄存器指令:

  1. 写地址0x7002,值0x07E9(年=2025)
  2. 写地址0x7003,值0x0009(月=9)
  3. 写地址0x7004,值0x0009(日=9)
  4. 写地址0x7005,值0x000C(小时=12)
  5. 写地址0x7006,值0x001E(分钟=30)
  6. 写地址0x7007,值0x002D(秒=45)
  7. 写地址0x7008,值0x0001,确认生效RTC时间

发送确认指令完成后,屏幕时钟立刻更新,芯片硬件RTC从此开始自动计时。

四、读取RTC时间

MCU发送串口读数据指令,依次读取寄存器0x7002~0x7007;
屏幕返回2字节原始16bit数值,MCU收到后,把十六进制数值转换为十进制,得到当前年、月、日、时、分、秒。

五、两种开发方案

方案A:使用LT7589硬件RTC(推荐)

  1. 硬件必要条件:板子焊接32.768KHz外部晶振 + RTC后备电池。
    • 有晶振+电池:断电之后RTC继续跑,上电不用重同步时间。
    • 无晶振:断电时间丢失,每次上电MCU必须重新设置一遍RTC时间。
  2. MCU上电同步一次时间;之后芯片内部硬件自动走时。
  3. UI放置数字/模拟时钟,画面自动跑时间;MCU不需要循环刷屏。

方案B:MCU外部RTC,不使用屏内置RTC

MCU自己管理RTC,每秒把年月日时分秒,通过普通writeAddr变量推送给字库数字控件显示;

不需要32.768K晶振,但是MCU需要持续不断发送串口更新画面。

六、高频踩坑清单(全部来自手册与实际工程)

  1. ❌忘记写确认寄存器0x7008 = 0x0001:写完全部年月日时分秒,时钟完全不变。
  2. ❌小时使用12小时制:RTC只支持24小时制。
  3. ❌试图给时钟控件发parameterAddr修改时间:时钟控件只读取系统寄存器,parameterAddr只能修改外观,不能设置时间。
  4. ❌报文直接发十进制ASCII字符:串口报文必须是16bit二进制数值,不是’2’’0’’2’’5’这类ASCII字符。
  5. ❌断电时间归零:检查32.768K晶振焊接、RTC后备电池电压。
  6. ✔模拟器UI_Emulator‑III:模拟器默认跟随电脑系统时间;串口写RTC指令在模拟器同样可以生效。
作者:龚李欣  创建时间:2026-10-28 18:17
最后编辑:龚李欣  更新时间:2026-11-02 20:02