1.时钟系统框图:
- HSI:高速的内部时钟->8MHz;
- HSE:外部高速时钟->8MHz;
- PLL: 锁相环->用于倍频(放大频率);
- CSS:时钟监控系统(一旦检测到HSE(外部晶振)失败,将会自动切换系统时钟源HSI);
- LSE:低速外部时钟,一般作用是给RTC(实时时钟)时钟供电->32.768KHz;
- LSI:低速内部时钟->约40KHz;
- MCO:输出内部时钟的引脚;
2.时钟系统总结:
(1)STM32有5个时钟源:HSI、HSE、LSI、LSE、PLL
- HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高;
- HSE是高速外部时钟,可接石英/陶瓷谐振器或接外部时钟源,频率范围4MHz~16MHz;
- LSI是低速内部时钟,RC振荡器,频率为40KHz,提供低功耗时钟;
- LSE是低速外部时钟,接频率为32.798KHz的石英晶体;
- PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2~16倍,但输出频率最大不得超过72MHz。
(2)系统时钟SYSCLK可来源于三个时钟源:
- HSI振荡器时钟;
- HSE振荡器时钟;
- PLL时钟;
(3)STM32可选择一个时钟信号输出到MCO(PA8)脚上,可选择为PLL输出的2分频、HSI、HSE或系统时钟。
(4)任何一个外设在使用之前,必须首先使能其相应的时钟;
3.重要时钟:
- SYSCLK系统时钟;
- AHB总线时钟;
- APB1总线时钟(低速):速度最高位36MHz;
- APB2总线时钟(高速):速度最高位72MHz;
4.RCC相关配置寄存器:
- RC:HSI、HSE、CSS、PLL等的使能和就绪标志位;
- CFGR:PLL等的时钟源选择,分频系数设定;
- CIR:清除/使能 时钟就绪中断;
- APB2RSTR:APB2线上外设复位寄存器;
- APB1RSTR:APB1线上外设复位寄存器;
- AHBENR:DMA、SDIO等时钟使能;
- APB2ENR:APB2线上外设时钟使能;
- APB1ENR:APB1线上外设时钟使能;
- BDCR:备份域控制寄存器;
- CSR:控制状态寄存器;