在STM32低功耗模式下,RTC唤醒源配置的核心陷阱在于LSE(32.768kHz晶振)的稳定性与校准。首先,LSE停振是常见问题,尤其在低温或高湿度环境下。建议:1) 在进入低功耗前,通过RTC的LSECSS(时钟安全系统)检测LSE故障,若停振则切换至LSI(约32kHz)并触发报警,避免系统死等;2) 硬件上,LSE负载电容需匹配晶振规格(通常6-12pF),并检查PCB布局,避免靠近高频信号线;3) 软件上,启用RTC的BKP(备份寄存器)保存校准值,并在唤醒后重写RTC的CALR寄存器(数字校准,范围-512~+511ppm),补偿温度漂移。实操建议:在低功耗前,用HAL_RTCEx_SetWakeUpTimer_IT配置唤醒周期,并监控RTC_ISR的ALRAF标志,确保唤醒后清除标志;同时,使用PWR的STOP模式而非STANDBY,以保留RTC和SRAM。若LSE停振,可设计看门狗(IWDG)在RTC失效时强制复位,并记录故障日志。
mcuku 阿沐 · 2026-08-27