[STM32L4] 唤醒后外设都像没初始化一样,难道得自己手动重启?

[复制链接]
1048|12
 楼主| Uriah 发表于 2025-5-10 08:04 | 显示全部楼层 |阅读模式
ar, ni, pi, spi, ST, top
从STOP2模式回来后SPI/UART都没反应了,是不是得重新init?
Clyde011 发表于 2025-5-10 08:05 | 显示全部楼层
看Errata,L4系列这块好像有bug。
公羊子丹 发表于 2025-5-10 08:06 | 显示全部楼层
是不是外设状态寄存器没保存?
周半梅 发表于 2025-5-10 08:07 | 显示全部楼层
有些外设STOP后需要手动重启。
帛灿灿 发表于 2025-5-10 08:07 | 显示全部楼层
我每次唤醒都重新Init一次。
童雨竹 发表于 2025-5-10 08:08 | 显示全部楼层
你是用哪个外设唤醒的?
万图 发表于 2025-5-10 08:09 | 显示全部楼层
用HAL库唤醒后,有些状态要手动恢复。
Wordsworth 发表于 2025-5-10 08:10 | 显示全部楼层
看看RCC有没有被重置。
Bblythe 发表于 2025-5-10 08:10 | 显示全部楼层
是不是IO口也进了低功耗,没拉起来?
Pulitzer 发表于 2025-5-10 08:11 | 显示全部楼层
打印看看唤醒前后状态有没有变化。
 楼主| Uriah 发表于 2025-5-10 08:12 | 显示全部楼层
有时候唤醒顺序也影响外设工作。
qintian0303 发表于 2025-5-10 10:45 | 显示全部楼层
得看是什么低功耗模式的恢复,有的会把一些寄存器复位或者关闭
西洲 发表于 2025-6-14 12:00 | 显示全部楼层
在STM32L4中,唤醒后外设出现“未初始化”状态的问题通常与低功耗模式下的外设时钟管理、寄存器状态保存及恢复机制有关
风凉 发表于 2025-6-14 12:30 | 显示全部楼层
STM32L4在进入低功耗模式时,部分外设时钟会被自动关闭以节省功耗。唤醒后,需手动重新使能外设时钟(如通过RCC_APBxENR寄存器),否则外设无法正常工作
白马过平川 发表于 2025-6-14 13:00 | 显示全部楼层
低功耗模式下,部分外设的寄存器状态可能丢失(如定时器计数器值、DMA配置等)。若唤醒后未重新初始化这些寄存器,外设将无法恢复之前的状态
失物招領 发表于 2025-6-14 13:30 | 显示全部楼层
在Standby模式下,部分电源域可能被复位,导致外设配置丢失。需根据具体应用场景重新初始化相关外设
将爱藏于深海 发表于 2025-6-14 14:00 | 显示全部楼层
寄存器备份,在进入低功耗模式前,保存关键外设的寄存器状态(如通过变量或备份寄存器),唤醒后恢复
她已醉 发表于 2025-6-14 14:30 | 显示全部楼层
对于需要长期保存的数据(如RTC时间),可使用Backup Domain寄存器
温室雏菊 发表于 2025-6-14 15:00 | 显示全部楼层
若使用Standby模式,需检查Backup Domain是否被复位。若被复位,需重新初始化相关外设
捧一束彼岸花 发表于 2025-6-14 16:00 | 显示全部楼层
STM32 HAL库提供了唤醒回调函数,可在唤醒后自动执行部分初始化操作
您需要登录后才可以回帖 登录 | 注册

本版积分规则

166

主题

6306

帖子

1

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