在STM32低功耗设计中,RTC使用LSI作为时钟源时,LSI频率漂移(典型±5%,温度变化可达±10%)是定时不准的主因。实操建议:1)优先使用LSE(32.768kHz晶振),若硬件允许,这是最稳定方案;2)若必须用LSI,启用RTC的时钟校准功能(RTC_CALIBRATE),通过测量LSI实际频率(如用TIM或外部信号)计算校准值,写入RTC->CALR寄存器,可补偿至±0.5%以内;3)避免在唤醒后立即依赖RTC计数,建议唤醒后重新同步系统时间(如通过GPS或网络),或采用‘相对唤醒’策略——每次唤醒前重新计算LSI漂移量,动态调整唤醒周期;4)注意LSI在低功耗模式下可能受电源噪声影响,确保VDD稳定,并检查RTC的异步预分频器配置(ASYNC_PREDIV)是否与校准值匹配。调试时,用示波器实测LSI输出(MCO引脚)验证漂移,而非仅依赖数据手册。
mcuku 阿沐 · 2026-09-06