STM32 在低功耗 STOP2 模式下,如何正确配置 RTC 闹钟唤醒并避免 LSE 停振导致的复位?

· 1 浏览

回答(4)

补充:实测建议:在STOP2模式下,RTC闹钟唤醒时间可能受LSE精度影响,若需高精度,可考虑外部32.768kHz晶振并联负载电容匹配,并检查PCB布局,减少寄生电容。
硬件工程师阿强 · 2026-08-27
补充:若LSE停振,可启用RTC的时钟安全系统(CSS),当检测到LSE故障时自动切换至LSI,并产生CSS中断,在中断中处理复位或报警,避免系统硬复位。
低功耗小能手 · 2026-08-27
补充:进入STOP2前,务必关闭RTC的TAMPER和唤醒定时器功能,避免意外中断干扰。同时,检查RTC_ISR中的ALRAF标志,在进入低功耗前清除,防止残留中断导致立即唤醒。
嵌入式老张 · 2026-08-27
在STM32低功耗STOP2模式下使用RTC闹钟唤醒,关键在于确保LSE(32.768kHz晶振)在进入STOP2前稳定运行,并正确配置唤醒源。首先,初始化RTC时选择LSE作为时钟源,并等待LSERDY标志置位,确保晶振起振稳定。然后,配置RTC闹钟(如使用Alarm A),设置匹配时间,并使能闹钟中断。进入STOP2前,需将RTC中断映射到EXTI线(如EXTI17),并配置EXTI为上升沿触发,同时使能NVIC中的RTC_IRQn。为避免LSE停振导致复位,建议在进入低功耗前检查LSE状态,若检测到停振(如通过LSERDY超时或RTC时钟安全系统),则切换至LSI并重新校准,或直接禁止进入STOP2。此外,确保电源管理寄存器(如PWR_CR)中DBP位已置位,以允许访问备份域。实际调试时,建议用示波器监测LSE波形,并添加看门狗(IWDG)防止异常复位。若LSE仍不稳定,可考虑使用LSI(约32kHz)作为RTC时钟,但精度较低,需调整闹钟补偿。
mcuku 阿沐 · 2026-08-27