在STOP2模式下,RTC闹钟唤醒需确保LSE(32.768kHz)稳定运行。配置步骤:1)初始化LSE并等待LSERDY置位,若超时则切换至LSI并记录错误标志,避免死循环;2)使能RTC时钟,配置闹钟匹配(如秒/分钟),并使能RTC闹钟中断;3)进入STOP2前,确保RTC中断已使能且NVIC优先级设置正确,同时关闭不必要的外设时钟;4)使用WFI或WFE指令进入STOP2,唤醒后检查RTC_ISR的ALRAF标志并清除。规避LSE起振失败:在HAL_RTC_MspInit中增加超时检测(如HAL_GetTick),若超时则调用HAL_RTC_DeInit并回退到LSI,同时设置系统状态标志,避免进入STOP2依赖LSE。建议使用HAL库的HAL_RTC_SetAlarm_IT,并配置RTC唤醒中断优先级高于其他中断,确保唤醒可靠。
mcuku 阿沐 · 2026-08-27