[应用相关] 唤醒后程序没有复位

[复制链接]
96|20
bbapple 发表于 2026-1-17 20:05 | 显示全部楼层 |阅读模式
进入待机模式之后由RTCwakeup唤醒,但很奇怪的是没有复位,而是继续向下运行代码
handleMessage 发表于 2026-1-17 20:10 | 显示全部楼层
STM32的待机模式会在唤醒时保留某些寄存器和系统状态。
zhouhuanの 发表于 2026-1-17 20:12 | 显示全部楼层
如果你的代码没有正确处理这些状态,可能会出现你描述的问题。
wanglaojii 发表于 2026-1-17 20:14 | 显示全部楼层
检查是否有适当的复位处理逻辑,特别是在从待机模式唤醒后。
laozhongyi 发表于 2026-1-17 20:17 | 显示全部楼层
实时时钟可以被配置为唤醒源。
Edisons 发表于 2026-1-17 20:18 | 显示全部楼层
可以在待机模式的唤醒处理代码中添加主动复位的逻辑。
_gege 发表于 2026-1-17 20:21 | 显示全部楼层
可以使用独立看门狗触发系统复位。
Mozarts 发表于 2026-1-17 20:22 | 显示全部楼层
STM32 的待机模式进入后通常不会完全复位。
feiqi1 发表于 2026-1-17 20:26 | 显示全部楼层
如果需要完全复位,可以考虑使用 独立看门狗 或 外部复位信号 来强制复位。
androidbus 发表于 2026-1-17 20:27 | 显示全部楼层
可以检查一下 RTC 唤醒时,是否正确设置了 Wakeup flag
litengg 发表于 2026-1-17 20:29 | 显示全部楼层
有时候忘记清除标志会导致唤醒后没有复位。
qiangweii 发表于 2026-1-17 20:31 | 显示全部楼层
如果你希望在唤醒后能有一个完全的程序复位,可以试试在唤醒后手动触发
shashaa 发表于 2026-1-17 20:33 | 显示全部楼层
你可以通过重新启动或清除相关标志来达到复位效果。
boy1990 发表于 2026-1-17 20:37 | 显示全部楼层
可以检查一下待机模式进入前是否有正确配置时钟源。
CallReceiver 发表于 2026-1-17 20:39 | 显示全部楼层
试试在进入待机模式前设置 SLEEPONEXIT 位呢
hfdy01 发表于 2026-1-17 20:40 | 显示全部楼层
进入待机模式时,确认是否禁用了必要的外设时钟,唤醒后需要保证时钟配置恢复正常。
sourceInsight 发表于 2026-1-17 20:42 | 显示全部楼层
可以通过给某个控制寄存器设置特定值,强制触发复位,确保程序重新初始化。
xixi2017 发表于 2026-1-18 11:07 | 显示全部楼层
本质是唤醒中断 / 事件没有触发系统复位,而是仅恢复了程序执行上下文
21mengnan 发表于 2026-1-20 11:14 | 显示全部楼层
如果你的代码实际进入的是 Stop 模式(而非真正的 Standby 模式),就会出现 “唤醒后继续运行” 的现象
huangcunxiake 发表于 2026-1-21 12:00 | 显示全部楼层
在唤醒后检测「待机唤醒标志位」,主动触发软件复位。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

312

主题

1921

帖子

1

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