STM32 时钟系统介绍
注:本文只是个人(小白)的学习整理以及遇到的问题,分享给想学stm32朋友,如果有朋友发现了问题欢迎指正,谢谢
一、时钟系统框图
1.时钟系统知识总结(与上图结合看)
- STM32 有5个时钟源:HSI、HSE、LSI、LSE、PLL
- HSI(high speed internal): 高速内部时钟,RC振荡器,频率为8MHZ,精度不高
- HSE(high speed external): 高速外部时钟,可接受石英/陶磁谐振器,或者接外部时钟源,频率范围4MHZ~16MHZ
- LSI(low speed internal): 低速内部时钟,RC振荡器,频率为40kHz,提供低功耗时钟。WDG
- LSE(low speed external): 低俗内部时钟,接频率为32.768kHz的石英晶体。RTC
- PLL:为锁相环倍频输出,其时钟输入源可选择HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率不得超过72MHZ
- 系统时钟SYSCLK可来源的三个时钟源:
- HS I振荡器时钟
- HSE 振荡器时钟
- PLL 时钟
- STM32可选择一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL输出的2分频、HSI、HSE、或者时钟系统
- 任何一个外设在时钟前,必须首先使能其相应的时钟
2.几个重要时钟:
- SYSCLK(系统时钟)
- AHB 总线时钟
- APB1 总线时钟(低俗):最高速度36MHz
- APB2 总线时钟(高速):速度最高72MHz
- PLL时钟
注:在系统复位之后在启动文件里面,先执行SystemInit函数再执行main函数如果想改自己的系统初始化函数可以在startup_stm32f10x_hd.s 文件里找到Reset_Handler 里修改