香主帮忙!!!

[复制链接]
2757|7
 楼主| violet520 发表于 2010-1-21 21:21 | 显示全部楼层 |阅读模式
1、STM32从待机模式唤醒是怎样一个过程?
2、采用复位按键与wakeup按键唤醒有区别吗?
3、唤醒后需要执行什么样的操作,CPU重哪条语句开始执行?外设需要重新初始化吗?变量需要重新赋初值吗?
ST的文档写得很模糊!!!!!!!!!!!!!!!
zwll 发表于 2010-1-21 22:35 | 显示全部楼层
看来楼主很激动啊……
香水城 发表于 2010-1-22 10:47 | 显示全部楼层
哈哈,看样子楼主没有看ST的手册,你问的问题都在手册中说明了:
STM32_Standby_Mode.gif
 楼主| violet520 发表于 2010-1-22 14:01 | 显示全部楼层
已经很仔细的研究过上面的文档了,不知道文中所说的等同于复位的执行与真实的复位有没有区别,我们发现唤醒后时钟频率发生了变化,同时代码是接着执行进入待机模式后面的代码,不是从头执行。
不知道这样的现象是否正常?
香水城 发表于 2010-1-22 15:12 | 显示全部楼层
“从待机模式唤醒后的代码执行等同于复位后的执行(采样启动模式引脚、读取复位向量等)。”

这句话说得已经非常清楚了,既然要读取复位向量,唤醒后代码肯定是与复位后一样,从复位向量开始执行;你的现象肯定不正常。

------------------------------
“电源控制/状态寄存器(PWR_CSR)(见第4.4.2节)将会指示内核由待机状态退出。”

你可以利用这一点,看看PWR_CSR寄存器的状态,是否是由待机状态退出的,而不是其它状态。
511 发表于 2010-1-22 16:52 | 显示全部楼层
但是进入待机模式后,JTAG失去连接怎么看PWR_CSR寄存器的状态啊?
香水城 发表于 2010-1-22 17:48 | 显示全部楼层
PWR_CSR寄存器的状态反映的是唤醒后的状态,当然不能在进入待机模式后看。

你可以在退出待机模式后通过程序去看,如果有必要可以通过UART或其它手段输出数据。
511 发表于 2010-1-22 19:02 | 显示全部楼层
本帖最后由 511 于 2010-1-26 18:48 编辑

...
您需要登录后才可以回帖 登录 | 注册

本版积分规则

33

主题

123

帖子

1

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