STM32的时钟系统
相较于51单片机,stm32的时钟系统可以说是非常复杂了,我们现在看下面的一张图:
上图说明了时钟的走向,是从左至右的从时钟源一步步的分配给外设时钟。需要注意的是,上图左侧一共有四个时钟源,从上到下依次是:
高速内部时钟(HSI):以内部RC振荡器产生,频率为8Mhz,但相较于外部时钟不稳定。
高速内部时钟(HSE):以外部晶振作为时钟源,晶振频率可取范围为4~16Mhz,一般采用8Mhz的晶振。
低速外部时钟(LSE): 以外部晶振作为时钟源,主要是提供给实时时钟模块,所以一般选用32.768khz,该频率下定时器方便取整。
低速内部时钟(LSI): 从内部RC振荡器产生,频率为40khz,也是主要提供给实时时钟模块。
根据上图,以我们最常用的高速外部时钟为例,沿着路线一步步的分析:
从最左端的OSC_OUT和OSC_IN开始,这两个引脚分别连接到外部晶振的两端。
我们假设连接的晶振为8Mhz,它遇到了第一个分频器PLLXTPRE。在这个分频器中,可以选择设置二分频,或者不分频。这里我们选择不分频。
然后箭头指向了开