一、定时器
通用定时器是一个通过可编程预分频器驱动的16位自动装载计数器构成。 它适用于多种场合,包括测量输入信号的脉冲长度(输入捕获)或者产生输出波形(输出比较和 PWM)。
1.1 主要特性
通用TIMx (TIM2、TIM3、TIM4和TIM5)定时器功能包括:
- 16位向上、向下、向上/向下自动装载计数器
- 16位可编程(可以实时修改)预分频器,计数器时钟频率的分频系数为1~65536之间的任意数值
- 4个独立通道:
- 输入捕获
- 输出比较
- PWM生成(边缘或中间对齐模式)
- 单脉冲模式输出
1.2 结构框图
如上是定时器基本定时功能的结构框图。从上图不难看出,要实现基本定时功能需要涉及到3个器件;这三个也是定时器实现定时的根本:预分频器(PSC)、自动重装载寄存器(ARR)、计数器(CNT)。
计数器按照定时器本身的工作频率进行计数实现了计时功能;如果想要实现最终的定时功能就需要我们的自动重装载寄存器了;它的功能简而言之就是可以给计数器设定一个目标值,CNT每次计数之后都会和ARR里的值进行比较,当CNT的值等于ARR的值时会出发溢出事件。至此就实现了定时功能;既然计数器+自动重装载寄存器这两个器件就已经实现了定时功能,那预分频器就毫无意义了吗?很显然不是的。预分频器的主要功能是降低CNT的计数频率,从而使我们可以计更长的时间;分频值越大,会导致CNT计数的耗时增加,整体的计时时长也会相应增加。
实际使用过程中,为方便使用,我们常用的分频值如下表分布:
工作主频 |
分 |