STM32工作中能切换时钟吗?有没有人用到过

2019-12-20 21:46发布

由于低功耗要求系统需要在8M速度下跑

但是同时带有SD卡需要采用USB 大容量存储

我想做成正常时候是跑8M速度

当检测到USB之后切换到72M速度

找了一圈没发现太合适的资料

还是来这里咨询一下吧

时钟在运行中切换需要注意什么
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
10条回答
RainKing
1楼-- · 2019-12-21 12:18
时钟应该可以更改,关键是所有外设和时钟有关系的都需要重新初始化.....做好这个,应该没啥大问题....
iskywolf
2楼-- · 2019-12-21 13:27
关掉所有外设时钟,有些外设最好先disable。时钟切到HSI,然后设置HSE、PLL之类的,设好了再把时钟切过去,再初始化外设时钟,使能禁掉的外设,有些要重新初始化。大致这个思路吧。
istars2005
3楼-- · 2019-12-21 14:01
由于有其他事情需要处理,所以试验晚了些。
昨天试验了一下确实可以实现工作中时钟频率的切换

工作过程为 正常跑8M,当插入USB时候,在USB中断中把标志位置一
在主程序中检测到标志位之后重新配置时钟,
并且重新配置USART和SysTick和定时器(我的项目在连接USB时候不允许使用定时器,所以就没有重新配置)
总之,和系统时钟频率相关的东西都需要重新配置一下

目前工作很正常
四叶草vs守护者
4楼-- · 2019-12-21 18:35
istars2005 发表于 2015-9-12 10:03
由于有其他事情需要处理,所以试验晚了些。
昨天试验了一下确实可以实现工作中时钟频率的切换

可以截屏看看你修改时钟这部分吗?

一周热门 更多>