STM32F10X时钟系统学习笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/wuyuzun/article/details/72236412

这里写图片描述
根据这个图片来解释时钟系统

  1. STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL。
    ①、HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。
    ②、HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。  
    ③、LSI是低速内部时钟,RC振荡器,频率为40kHz,提供低功耗时钟。  
    ④、LSE是低速外部时钟,接频率为32.768kHz的石英晶体。  
    ⑤、PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。

2.系统时钟SYSCLK可来源于三个时钟源:
①、HSI振荡器时钟
②、HSE振荡器时钟
③、PLL时钟

3.STM32可以选择一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL
输出的2分频、HSI、HSE、或者系统时钟。

需知:
基于3.5.0库开发的基础上,程序在运行到main函数之前会调用SystemInit()函数,此函数会配置STM32时钟系统作为初始化,初始化的结果就是:
SYSCLK 72MHz
AHB 72MHz
PLCK1 36MHz
PLCK2 72MHz
PLL 72MHz
APB1 36MHz

解释几个概念:
分频:
这里写图片描述
(图片来源于百度问答,图片中有一个错误是:“10分频就是1mhz”,应该是“10分频是2mhz”)
预分频:
这里写图片描述

总结:
1.在写程序的时候,我们实际上是对时钟框图中的灰色梯形进行配置;
2.在使用外设的时候,首先要对时钟进行配置,如果时钟未开启,则所要用到的外设属于未启动状态;
3.在实际应用当中,如果某个外设暂时不用,但是如果一直开着势必要消耗电能,从降低功耗的角度看,不可取;传统思维觉得应该使相应的外设掉电,其实不是,应该是关闭此外设的时钟信号,使其停止工作;

(未完待续)

猜你喜欢

转载自blog.csdn.net/wuyuzun/article/details/72236412