时钟系统是STM32中一个重要的组成部分,他就是CPU的脉搏,就像人的心跳一样。STM32单片机的时钟不像51单片机只有一个系统时钟,STM32有多个时钟源。STM32为什么要有多个时钟源呢?STM32本身比较复杂,外设非常多,但是并不是所有的外设都需要系统时钟这么高的频率,如看门狗以及RTC只需要十几k的时钟电路即可。同一个电路,时钟越快功耗越大,同时抗电磁干扰能力也会越弱,所有对于较为复杂的MCU一般都是采用多时钟源的方法来解决这些问题。
STM32时钟系统图:
在STM32中,有五个时钟源,分别是HSI、HSE、LSI、LSE和PLL。从时钟频率来分可以分为高速时钟源和低速时钟源,HSI、HSE和PLL是高速时钟,LSI和LSE是低速时钟;从来源可分为外部时钟源和内部时钟源,其中HSE和LSE是外部时钟源,HSI、LSI和PLL是内部时钟源。
如图中红色部分所示为五个时钟源,蓝色部分为这5个时钟源给外设以及系统提供时钟示意图。