[其他ST产品] stm32f103——时钟树的分析与配置(转载记录)

[复制链接]
1423|51
 楼主| 过期的塔头 发表于 2023-1-31 16:41 | 显示全部楼层
.打开HSE

6367263d8d4564b7df.png
 楼主| 过期的塔头 发表于 2023-1-31 16:45 | 显示全部楼层
等待外部高速时钟稳定且就绪
6681463d8d52002c08.png
 楼主| 过期的塔头 发表于 2023-1-31 16:45 | 显示全部楼层
我们需要等待外部时钟起振稳定后再开始进行时钟配置,否则配置出来的时钟频率有问题
 楼主| 过期的塔头 发表于 2023-1-31 16:50 | 显示全部楼层
设置PLL时钟源和倍频系数
4196263d8d639ababe.png
6329963d8d646868d4.png
 楼主| 过期的塔头 发表于 2023-1-31 16:51 | 显示全部楼层
使能PLL
7538463d8d674c31df.png
 楼主| 过期的塔头 发表于 2023-1-31 16:51 | 显示全部楼层
等待PLL准备就绪
7951363d8d68e26534.png
 楼主| 过期的塔头 发表于 2023-1-31 16:53 | 显示全部楼层
设置AHB预分频器 7397463d8d71500182.png
注意,这里有两点:


1.AHB预分频器是一个功能而不是一个物理器件,所以它不需要等带就绪。而PLL则是一个物理器件,相对于AHB来说,它有较大的延时,所以需要等待它准备好。


2.1分频(分频系数为1)就是不分频,千万不要写成0分频。
 楼主| 过期的塔头 发表于 2023-1-31 16:54 | 显示全部楼层
为什么这里是先设置预分频,而不是按照从左到右的顺序,先设置系统设置再来设置预分频器?
4111763d8d7500ca4c.png
原因是,如果先设置好系统时钟,那么最后开启预分频器的那一瞬间,频率可能会出现短暂的错误。所以,我们先设置好各个外设的预分频器,让预分频器准备好了,最后再来设置并打开系统时钟,将频率输入给预分频器。而且有一些外设和功能的时钟来源是直接来自系统时钟。如果先开起系统时钟,那么这部分外设很可能会先工作,而预分频后面的外设需要再开启预分频后,才能工作,这样的话,可能会导致系统工作不正常。
 楼主| 过期的塔头 发表于 2023-1-31 16:56 | 显示全部楼层
设置APB1预分频器
9069363d8d7a0d9f68.png
4126363d8d7a8d8df5.png
我们需要用到APB1下的外设,所以需要设置APB1总线的时钟
 楼主| 过期的塔头 发表于 2023-1-31 16:57 | 显示全部楼层
设置APB2预分频器
5296663d8d7f135aa8.png
 楼主| 过期的塔头 发表于 2023-1-31 17:00 | 显示全部楼层
设置系统时钟
1909863d8d89354cc6.png
设置完预分频后,最后再来设置和开启系统时钟。
 楼主| 过期的塔头 发表于 2023-1-31 19:42 | 显示全部楼层
查看系统时钟是否设置正确
2047663d8fe8b9cffc.png
防止系统时钟设置错误。
您需要登录后才可以回帖 登录 | 注册

本版积分规则

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