时钟
时钟介绍
简单的说,时钟是单片机的脉搏,是单片机的驱动源,使用任何一个外设都必须打开相应的时钟。这样的好处是,如果不使用一个外设的时候,就把它的时钟关掉,从而可以降低系统的功耗,达到节能,实现低功耗的效果。每个时钟tick,系统都会处理一步数据,这样才能让工作不出现紊乱。
STM32有5个时钟源
①HSI:高速内部时钟,RC振荡器,频率为8MHZ,精度不高
②HSE:高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHZ-16MHZ
③LSI:低速内部时钟,RC振荡器,频率为40kHZ,提供低功耗时钟。
④LSE:低速外部时钟,接频率为32.768kHZ的石英晶体。可作为RTC的时钟源。
⑤PLL:锁相环倍频输出,其时钟输入源可选择为HSI/2、HSE或者HSE/2。倍频可选择为2-16倍,但是其输出频率最大不可超过72MHZ。
更多内容参照:https://blog.csdn.net/qq_42384937/article/details/83512162
以下为STM32的时钟树:
在时钟树里面会有很多的梯形框,是选择器,可以从多个输入的信号中选择一个作为时钟源。
APB1和APB2为AHB桥接线下的两个总线,APB1最大频率为36MHZ,而APB2最大频率为72MHZ,所以APB2上连着的是高速外设,比如高级定时器TIM1和TIM8
同时,对于APB部分,外设被大致分为了两批,一批挂载在APB1总线上,一批挂载在APB2上。在库函数开发中,选择外设开启时钟函数时就要注意对应的总线。