[STM32L0] RTC唤醒后跑飞,是不是堆栈没恢复好?

[复制链接]
427|17
 楼主| Wordsworth 发表于 2025-5-7 07:30 | 显示全部楼层 |阅读模式
我用Standby模式睡觉,RTC能唤醒但程序就乱跑,是不是复位点设错了?
Clyde011 发表于 2025-5-7 07:33 | 显示全部楼层
你是HSE还是LSI唤醒的?
公羊子丹 发表于 2025-5-7 07:34 | 显示全部楼层
是不是进了Standby没有完整复位?
周半梅 发表于 2025-5-7 07:35 | 显示全部楼层
看下你的启动代码是不是直接跳main了?
帛灿灿 发表于 2025-5-7 07:36 | 显示全部楼层
RTC唤醒后得重新配置SystemInit。
童雨竹 发表于 2025-5-7 07:37 | 显示全部楼层
我用BKPSRAM存了个标志位来判断状态。
万图 发表于 2025-5-7 07:38 | 显示全部楼层
唤醒后不能依赖原来的堆栈。
 楼主| Wordsworth 发表于 2025-5-7 07:38 | 显示全部楼层
你有没有试过重新上电?
Bblythe 发表于 2025-5-7 07:39 | 显示全部楼层
是不是跑到了默认Reset Handler?
Pulitzer 发表于 2025-5-7 07:40 | 显示全部楼层
看一下PC和SP寄存器指向对不对?
Uriah 发表于 2025-5-7 07:41 | 显示全部楼层
我之前是Boot0电平没拉好导致的。
duo点 发表于 2025-5-7 12:04 | 显示全部楼层
在Standby模式下,STM32的复位源可能被错误配置,导致唤醒后程序未从预期位置开始执行。
flycamelaaa 发表于 2025-5-7 12:04 | 显示全部楼层
如果中断向量表未正确映射到Flash的起始地址,唤醒后程序可能从错误的地址开始执行。
flycamelaaa 发表于 2025-5-7 12:04 | 显示全部楼层
未重新初始化外设或时钟可能导致程序行为异常。
powerantone 发表于 2025-5-7 12:05 | 显示全部楼层
可能是唤醒标志未被清除导致的。
stormwind123 发表于 2025-5-7 12:06 | 显示全部楼层
避免在Standby模式下依赖RAM中的动态分配或全局变量。
probedog 发表于 2025-5-7 12:06 | 显示全部楼层
检查RTC唤醒配置是否有误。
classroom 发表于 2025-5-7 12:07 | 显示全部楼层
先检查复位源配置,不行然后再重新初始化外设和时钟看看。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

146

主题

5815

帖子

1

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