STM32有5个时钟源:
1.HSI高速内部时钟,RC振荡器,可作为系统时钟或者用作PLL时钟输入。16MHZ
2.HSE高速外部时钟。4-26MHZ
3.LSI是低速内部时钟,RC振荡器。频率为32KHZ,用于驱动独立看门狗。
4.LSE低速外部时钟。用于驱动RTC时钟(RTCCLK)
5.PLL为锁相环倍频输出。主PLL由HSI或HSE提供时钟信号。
一共有三个PLL,分别为主PLL、专用PLLI2S、专用PLLSAI。
1)主PLL有两个不同的输出时钟。一个作为高速系统时钟(最高达216MHZ),第二个输出用于为 USB OTG FS、SDMMC 和 RNG 生成 48 MHz 时钟。
2)另外两个专用时钟也是为其他模块提供时钟源的。
对于每个时钟源在未使用时都可以打开或关闭,以降低功耗。
其中,HSI、HSE、PLL可用来驱动系统时钟SYSCLK。
PLLCLK = HSE *N /(M *P)
Stm32_Clock_Init函数讲解:
时钟系统配置的一般步骤:
1.使能PWR时钟:调用函数__HAL_RCC_PWR__CLK_