打印
[STM32F0]

stm32在stop模式下唤醒后主频变慢,如何解决

[复制链接]
4904|6
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
zhang_haojia|  楼主 | 2014-7-31 11:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
唤醒后使用PLL,时钟源是HSI,发现有时压根就不工作,刚开始上电后的几秒钟内还算正常,过一会就不工作了,这是什么原因呢?

请大侠们指教
沙发
zhang_haojia|  楼主 | 2014-7-31 12:05 | 只看该作者
芯片是stm32f030,这个片子可能比较新,不过在stm32F1xx系列上的经验也可以借鉴,这两个系列有非常大的相似之处,

大家帮忙分析一下吧,折磨很久了

使用特权

评论回复
板凳
香水城| | 2014-7-31 15:54 | 只看该作者
F0的固件库里不是有从STOP模式唤醒的例程啊,去看看有何异同吧。

使用特权

评论回复
地板
zhang_haojia|  楼主 | 2014-7-31 18:16 | 只看该作者
香水城 发表于 2014-7-31 15:54
F0的固件库里不是有从STOP模式唤醒的例程啊,去看看有何异同吧。

就是照着历程写的,我用了一个按键去唤醒,当我按按键时,是直接执行了中断服务程序还是先执行进入stop函数中__WFI后的语句SYSCLKConfig_STOP呢?

谢谢

使用特权

评论回复
5
香水城| | 2014-8-1 10:14 | 只看该作者
应该是先执行对应的按键ISR,中断返回后再从WFI语句的后一句继续执行。

使用特权

评论回复
6
zhang_haojia|  楼主 | 2014-8-1 18:06 | 只看该作者
香水城 发表于 2014-8-1 10:14
应该是先执行对应的按键ISR,中断返回后再从WFI语句的后一句继续执行。

谢谢香主!

这个问题已经解决了,方法是不再使用systick实现按键去抖,而是通过while(按键IO低电平){...}来进行去抖检测,中断服务程序也可以正常运行了,时钟稳不稳定我也不太关心,只要能完成任务就行了。
根据我观察到的现象目前可以得到的结论是:从stop模式唤醒后的systick中断时间间隔不是均匀的。

使用特权

评论回复
7
guangods| | 2014-8-14 16:35 | 只看该作者
你用SYSTICK去抖,那应该MCU不省电

使用特权

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

本版积分规则

3

主题

8

帖子

0

粉丝