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