[STM32L1] 低功耗模式唤醒后外设异常,好像没完全初始化

[复制链接]
205|10
Clyde011 发表于 2025-10-8 07:22 | 显示全部楼层 |阅读模式
进入STOP模式后用EXTI唤醒,发现唤醒后UART和ADC都不工作。调试看到时钟恢复了,但外设寄存器似乎没复原。尝试重新初始化驱动也不总能恢复,像是某个时钟域没重新上电。
 楼主| Clyde011 发表于 2025-10-8 07:25 | 显示全部楼层
我一般在唤醒回调里统一重新init外设。
公羊子丹 发表于 2025-10-8 07:26 | 显示全部楼层
唤醒后要重新启用外设时钟,不会自动恢复。
周半梅 发表于 2025-10-8 07:28 | 显示全部楼层
我踩过这个坑,每个外设都得手动重启。
帛灿灿 发表于 2025-10-8 07:29 | 显示全部楼层
STOP模式时PLL关了,回来要重新配置。
童雨竹 发表于 2025-10-8 07:30 | 显示全部楼层
我加了SystemClock_Config()重调后就好了。
万图 发表于 2025-10-8 07:31 | 显示全部楼层
有时候HAL库不会帮你恢复完整。
Wordsworth 发表于 2025-10-8 07:32 | 显示全部楼层
确认一下电源域是不是被关掉了。
Bblythe 发表于 2025-10-8 07:33 | 显示全部楼层
我建议先在调试状态下看一下RCC寄存器。
Pulitzer 发表于 2025-10-8 07:34 | 显示全部楼层
感觉像是ADC电源域没重新enable。
Uriah 发表于 2025-10-8 07:35 | 显示全部楼层
UART也可能是GPIO没重新配置。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

159

主题

5916

帖子

0

粉丝
快速回复 在线客服 返回列表 返回顶部