在STM32低功耗STOP2模式下使用RTC闹钟唤醒,核心是确保LSE(32.768kHz晶振)在低功耗期间持续运行。首先,配置RTC时钟源为LSE,并启用LSE的BYPASS或驱动能力(若外部晶振,需匹配负载电容)。进入STOP2前,需设置RTC闹钟中断(ALRA或ALRB)并使能RTC的唤醒中断,同时确保RTC在低功耗模式下不被关闭(RTC属于备份域,需保持VDD供电)。为避免LSE停振,建议:1)在进入STOP2前检查LSERDY标志,确保LSE稳定;2)若使用外部晶振,增加驱动电流(RCC->BDCR中的LSEDRV位)以提高抗干扰性;3)若环境噪声大,可改用LSE旁路模式(输入外部时钟)。实操建议:在RTC闹钟中断服务程序中,先清除中断标志,再退出STOP2(通过WFI或WFE),并重新配置系统时钟。测试时,用示波器监测LSE输出,确认在STOP2期间波形稳定。若仍停振,可考虑使用LSI(但精度低)或外部RTC模块。
mcuku 阿沐 · 2026-09-09