这是本文档旧的修订版!


TIM(TIMER)定时器

实际上是计数器,对输入的时钟(方波信号)进行计数,并在计数值达到设定值时触发中断。
当输入的时钟是线性的基准时钟,计数器就变成了定时器。
16位计数器,预分频器。

定时器类型

STM32E103C8T6定时器资源:TIM1、TIM2、TIM3、TIM4

基本定时器结构

PSC、CNT、自动重装载寄存器这三个部分构成一个时基单元
其中RCC_TIMxCLK = 72Mhz(CK_INT直接接到CK_PSC)。

  1. PSC预分频器:对CK_PSC分频,写0就是不分频,写n就是n+1分频。PSC是16位预分频器,故最大可以写65535,即65536分频。
  2. CNT计数器:对预分频后的信号CK_INT计数,吗,每一个周期的上升沿计数+1,不断自增。
  3. 自动重装载寄存器:存储目标计数值,当CNT==目标值时,产生中断信号,并且清零CNT。

UI表示更新中断(update interrupt),通往NVIC。U表示产生一个更新事件(update event),不触发中断。

通用定时器结构

如图,时钟输入信号可以是:内部RCC时钟和外部时钟。而外部时钟又可以是:TIMx_ETR、ITR0-3、TI1F_ED、TI1FP1、TI2FP2。首选:RCC时钟。

定时中断基本结构