stm32时钟系统图:
c27d79042e3f7d7404dd0faa302d2a91.png
1.stm32有5个时钟源:
​ ①HSI:高速内部时钟、RC振荡器,频率为8MHz
​ ②HSE:高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为 4MHz~16MHz。
​ ③LSI:低速内部时钟、RC振荡器,频率为 40kHz,独立看门狗的时钟源只能是LSI时钟源。
​ ④LSE:低速外部时钟,主要是RTC的时钟源。

​ ⑤PLL:锁相环倍频输出,时钟输入源可以选择HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是输出频率最大不能超过72MHz。

2.系统时钟SYSCLK可来源于三个时钟源:
​ 1)HSI振荡器时钟
​ 2)HSE振荡器时钟
​ 3)PLL时钟

3.MCO是stm32的一个时钟输出IO(PA8),他可以选择一个时钟信号输出,PLL输出的2分频、HSI、HSE、或者系统时钟。

4.任何一个外设在使用之前,必须首先使能相应的时钟。

总结:
SystemInit()是stm32时钟系统的配置的初始化函数,对于系统时钟,默认情况下是在SystemInit()函数的SetSysClock()函数中间判断的,设置是通过宏定义设置的。
SystemInit()函数中设置的系统时钟大小:
SYSCLK(系统时钟) = 72MHz
AHB总线时钟(使用SYSCLK) = 72MHz
APB1总线时钟(PCLk1) = 36MHz
APB2总线时钟(PCLK2) = 72MHz
APB2总线时钟(PCLK2) = 72MHz
PLL时钟 = 72MHz
————————————————
版权声明:本文为CSDN博主「Yu_志强」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_50876039/article/details/113423614