stm32学习(2)——时钟树
我家门前有两棵树,一棵是枣树,另一棵也是枣树。 ——鲁迅
你是否总在感叹人生苦短光阴易逝,你是否有着青春的年纪却在路上被叫叔叔阿姨的无奈,你是否总觉得自己的时间海绵干涩无比挤不出水。如果是,那么你就需要加强时间管理,做时间永远的主人。了解stm32时钟的心,从这里开始。
今天就来聊一聊掌握时间黑魔法的时钟树。
时钟框图
如果你看到这幅图有一种想离开页面的冲动,那么,那么,那么我只能求你继续看下去,卑微的我。
看到这幅图的结构,是一个以黄色为背景,其中镶嵌有天空蓝、牛油果绿、雾朦胧灰以及唯一的看起来就很新鲜的橘子橙这几种色彩构成,间或有白色小方框与黑色指示线作为点缀,加上红黑说明文字就是这幅框图的整体内容。
黄色背景——无实际工程意义,可能是个人偏好
蓝色方框——时钟源
stm32上有五个时钟源
时钟源 | 说明 | 来源 |
---|---|---|
HSI RC (high speed internal) | 内部高速时钟 | RC振荡器,频率为8MHz,精度不高 |
HSE Osc (high speed external) | 外部高速时钟 | 可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz |
LSE Osc (low speed external) | 外部低速时钟 | 接频率为32.768kHz的石英晶体 |
LSI RC (low speed internal) | 内部低速时钟 | RC振荡器,频率为40kHz,提供低功耗时钟 |
PLL (锁相环) | PLL时钟 | HSI/2、HSE、HSE/2 |
绿色方框——分频/倍频器
- ÷2或者是÷120就是直接分频
- prescaler——预分频器(也就是分频)
- multiplier——倍频器
白色方框——输入输出端口
- osc_out、osc_in、osc32_out、osc32_in都为外部晶振输入输出引脚。
- MOC:时钟输出引脚,可以选择相应的时钟源输出对应的时钟频率。
灰色梯形——选择器
从几个来源中任选一个来源。
橙色方框——时钟监视系统
系统时钟使用HSE失效时,切换到使用HSI作为系统时钟来源。
OK,解释到这里你可能比较清楚了stm32时钟框图是怎么样的一个读法,然后载坚持一下你就可以看到各种外设的时钟配置是怎么在框图中体现的。
将这张图从系统时钟分开,分为左右两个部分,左边大都为时钟源,右边则是外设时钟。
大致流程就是,系统时钟选择左边的时钟源,然后右边的外设时钟从系统时钟进行分频/倍频之后得到外设的时钟频率。
需要注意的点有:
- 系统时钟有三个来源
- F1系列单片机的最高时钟频率为72MHz
- APB1总线最高为36MHz,APB2最高为72MHz
花点时间耐心的读一下整个图,定会有收获。