1、STM32有5个时钟源:HSI、HSE、LSI、LSE、PLL
- HSI是高速内部时钟,RC振荡器,频率为16MHz,精度不高。可以直接作为系统时钟或者用作PLL时钟输入。
- HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4-26MHz(通常8MHz)。
- LSI低速内部时钟,RC振荡器,频率为32.768kHz的石英晶体。RTC
- PLL为锁相环倍频输出。STM32F4有两个PLL:
主PLL(PLL)由HSE或者HSI提供时钟信号,并具有两个不同的输出时钟。
第一个输出PLLP用于生成高速的系统时钟(最高168MHz)
第二个输出PLLQ用于生成USB OTG FS的时钟(48MHz),随机数发生器的时钟和SDIO时钟
专用PLL(PLLI2S)用于生成精确时钟,从而在I2S接口实现高品质音频性能。
2、系统时钟SYSCLK可来源于三个时钟源:
- HSI振荡器时钟
- HSE振荡器时钟
- PLL时钟
3、STM32F4时钟信号输出MCO1(PA8)和MCO2(PC9)。
- MCO1:用户可以配置预分频器(1-5)向MCO1引脚PA8输出4个不同的时钟源:HSI、LSE、HSE、PLL
- MCO2:用户可以配置预分频器(1-5)向MCO2引脚PC9输出4个不同的时钟源:HSE、PLL、SYSCLK、PLLI2S
MCO最大输出时钟不超过100MHz
4、任何一个外设在使用之前,必须首先使能其相应的时钟。