You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

STM32 RTC3混合模式写入TR寄存器导致SSR重置的技术咨询

STM32 RTC混合模式下SSR被重置的问题解答

现象是否正常?

这是正常的硬件行为。STM32部分芯片的RTC在混合模式(同时启用BCD日历与二进制亚秒计数)下,写入RTC->TR(时间寄存器)或RTC->DR(日期寄存器)时,硬件会自动将亚秒寄存器SSR重置为0xFFFFFFFF。这个设计是为了确保日历时间与亚秒计数的同步性,避免时间修改导致的计数逻辑混乱。

配置与解决要点

  • 混合模式下SSR为只读:只有在纯二进制RTC模式(关闭BCD日历功能)时,SSR才允许手动写入。混合模式中SSR由硬件自动递减更新,无法通过写操作修改,所以你尝试备份写回的方法不可行。
  • 替代处理方案:
    • 修改日历时间前,先计算当前系统的绝对时间戳(结合日历时间的总秒数与SSR的亚秒值),修改完成后,基于新的日历时间重新校准依赖SSR的定时器逻辑,或者通过调整定时事件的触发时间来补偿SSR重置带来的误差。
    • 尽量减少运行过程中调用HAL_RTC_SetTime的频率,仅在必要的时间校准场景下使用。
    • 查阅对应芯片的参考手册(如STM32L0/L4/H7系列的RTC章节),其中会明确标注混合模式下写入TR/DR触发SSR重置的行为说明。

内容的提问来源于stack exchange,提问作者Robert L.

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.27 00:52:08