STM32的定时器分为基本定时器、通用定时器和高级定时器。以STM32VET6指南者为例,
TIM6、TIM7是基本定时器,TIM2、TIM3、TIM4、TIM5是通用定时器,TIM1和TIM8是高级定时器。
定时器的基本功能就是计数,并在适当的时间生成一个时间/更新。
时钟源(TIMxCLK):基本定时器和通用定时器的时钟源都是经过APB1总线时钟的2倍频提供的,
为72MHz。高级定时器的时钟源来自于APB2总线时钟,也是72MHz。
计数器时钟(CK_CNT):定时器时钟经过PSC预分频器分频后,为计数器时钟CK_CNT。
计数器时钟用来驱动计数器计数。PSC是一个16位的寄存器,可以对定时器时钟TIMxCLK进行
1~65536之间的任何一个数进行分频。计算方式为:
CK_CLK = TIMxCLK / (PSC+1)
计数器(CNT):计数器CNT是一个16位的计数器,最大计数值为65535。计数模式为:
向上计数,向下计数,中央对齐。其中,基本定时器只支持向上计数模式,其它模式不支持。
通用和高级定时器支持所有的计数模式。
自动重装在寄存器(ARR):自动重载寄存器 ARR 用来存放与计数器 CNT 比较的值,
是一个16位的寄存器,这里面装载着计