众所周知,时钟系统是 CPU 的脉搏,就像人的心跳一样。所以时钟系统的重要性就不言而
喻了。 STM32F103的时钟系统比较复杂,不像简单的51单片机一个系统时钟就可以解决一切。
一、时钟系统框架——时钟树
下图称为时钟树,反映了STM32的时钟系统的框架,在STM32的编程参考手册的RCC章节对其有详解讲解。
图中的时钟流向是从左向右、从上到下,从左侧的多种独立的时钟源,通过PLL倍频电路,得到高速的系统时钟和低速RTC时钟,然后系统时钟再通过多路分频再得到各种频率的外设时钟。总体看来,STM32的时钟可以分为以下几个部分:
1.1 时钟源
在 STM32 中,有四个时钟源,为 HSI、 HSE、 LSI、 LSE。
从时钟频率来分可以分为高速时钟源和低速时钟源, HSI, HSE 以及 PLL 是高速时钟, 为芯片的内核和主要外设提供时钟;LSI 和 LSE 是低速时钟,为芯片的RTC和看门狗提供时钟。
从来源可分为外部时钟源和内部时钟源,外部时钟源就是从外部通过接晶振的方式获取时钟源, HSE 和 LSE 是外部时钟源,其中HSE可以接4-16MHz的晶振电路,也可以用旁路方式接最高25MHz的外部时钟信号&