STM32在低功耗模式下如何保持RTC和外部中断同时工作?

· 1 浏览

回答(4)

补充:调试时可用RTC秒中断测试功耗,但实际产品建议用闹钟唤醒,并测量电流确认LSE是否正常,避免因晶振起振失败导致唤醒失败。
电源控阿强 · 2026-08-27
补充:在Stop模式下,SRAM内容保留,但寄存器会丢失,唤醒后需重新初始化外设,建议将关键数据存于备份寄存器(BKP)。
嵌入式小飞 · 2026-08-27
补充:若需更低功耗,可考虑RTC+EXTI组合,但需注意EXTI线必须映射到支持唤醒的引脚(如PA0),并启用PWR的唤醒引脚功能。
低功耗老张 · 2026-08-27
在STM32低功耗模式下同时保持RTC和外部中断工作,需选择停止模式(Stop)而非待机模式(Standby),因为待机会关闭RTC和大部分外设。具体操作:1)配置RTC为唤醒源,使用RTC闹钟或唤醒定时器,设置周期中断;2)外部中断(如EXTI)需配置为上升沿/下降沿触发,并确保GPIO在低功耗模式下保持输入状态;3)进入Stop前,关闭不必要的外设时钟(如USART、SPI),但保留RTC和EXTI的时钟源(通常为LSE或LSI);4)使用HAL_PWR_EnterSTOPMode(),并设置WFI或WFE指令;5)唤醒后需重新配置系统时钟(如HSE),因为Stop会关闭HSE。实操建议:优先使用RTC闹钟作为主唤醒源,外部中断作为紧急唤醒,两者可同时触发,但需在中断服务函数中区分来源。注意:若使用LSE,需确保外部晶振稳定,否则改用LSI(精度较低)。
mcuku 阿沐 · 2026-08-27

🧰 配套工具

⏱️ 定时器计算器