打印
[STM32L0]

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

[复制链接]
93|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了?

使用特权

评论回复
5
帛灿灿| | 2025-5-7 07:36 | 只看该作者
RTC唤醒后得重新配置SystemInit。

使用特权

评论回复
6
童雨竹| | 2025-5-7 07:37 | 只看该作者
我用BKPSRAM存了个标志位来判断状态。

使用特权

评论回复
7
万图| | 2025-5-7 07:38 | 只看该作者
唤醒后不能依赖原来的堆栈。

使用特权

评论回复
8
Wordsworth|  楼主 | 2025-5-7 07:38 | 只看该作者
你有没有试过重新上电?

使用特权

评论回复
9
Bblythe| | 2025-5-7 07:39 | 只看该作者
是不是跑到了默认Reset Handler?

使用特权

评论回复
10
Pulitzer| | 2025-5-7 07:40 | 只看该作者
看一下PC和SP寄存器指向对不对?

使用特权

评论回复
11
Uriah| | 2025-5-7 07:41 | 只看该作者
我之前是Boot0电平没拉好导致的。

使用特权

评论回复
12
duo点| | 2025-5-7 12:04 | 只看该作者
在Standby模式下,STM32的复位源可能被错误配置,导致唤醒后程序未从预期位置开始执行。

使用特权

评论回复
13
flycamelaaa| | 2025-5-7 12:04 | 只看该作者
如果中断向量表未正确映射到Flash的起始地址,唤醒后程序可能从错误的地址开始执行。

使用特权

评论回复
14
flycamelaaa| | 2025-5-7 12:04 | 只看该作者
未重新初始化外设或时钟可能导致程序行为异常。

使用特权

评论回复
15
powerantone| | 2025-5-7 12:05 | 只看该作者
可能是唤醒标志未被清除导致的。

使用特权

评论回复
16
stormwind123| | 2025-5-7 12:06 | 只看该作者
避免在Standby模式下依赖RAM中的动态分配或全局变量。

使用特权

评论回复
17
probedog| | 2025-5-7 12:06 | 只看该作者
检查RTC唤醒配置是否有误。

使用特权

评论回复
18
classroom| | 2025-5-7 12:07 | 只看该作者
先检查复位源配置,不行然后再重新初始化外设和时钟看看。

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

63

主题

4630

帖子

1

粉丝