STF4STD_HAL-114. RTC-实时时钟.rar
https://pan.baidu.com/s/1wqGE5e-IRkalpl9z0zM_ew?pwd=vett TQM: vett
STM32 实时时钟(RTC)深度解析与工程实践指南
实时时钟(Real-Time Clock, RTC)是嵌入式系统中保障时间连续性、低功耗唤醒、事件精准触发与安全审计的核心外设。在 STM32H7 系列(以 RM0430 参考手册为依据)中,RTC 不仅提供标准日历功能,更集成了亚秒级精度控制、多级校准机制、入侵检测、时间戳捕获及灵活唤醒定时器等工业级特性。本章将基于寄存器级细节,系统性拆解 RTC 的初始化流程、关键寄存器操作约束、BCD 编码陷阱、写保护解除机制、亚秒同步原理,并给出可直接移植的 C 语言驱动框架与典型应用场景代码。
- RTC 架构 与时钟树基础
STM32H7 的 RTC 运行于独立的备份域(Backup Domain),由专用低频时钟源驱动,具备掉电保持能力。其核心时钟路径如下:
主时钟源(RTCCLK) :通常为外部 32.768 kHz 晶振(LSE),亦可选内部低速 RC 振荡器(LSI)或 HSE 分频(需配置 RCC_BDCR 寄存器)。
两级预分频器 :
异步预分频器(PREDIV_A) :对 RTCCLK 进行粗粒度分频,生成 ck_apre 。公式为: ck_apre = RTCCLK / (PREDIV_A + 1)
同步预分频器(PREDIV_S) :对 ck_apre 进行细粒度分频,生成 ck_spre (即 1 Hz 基准)。公式为: ck_spre = ck_apre / (PREDIV_S + 1)
