文章目录
- 1、定时器相关描述
- 1.1 定时器总类
- 1.2 定时器整体与时钟来源
- 1.2 定时对应总线时钟
- 1.3定时器计数模式
1、定时器相关描述
1.1 定时器总类
定时器类型 | 位数 | 计数模式 | 产生DMA请求 | 捕获/比较通道 | 互补输出 | 特殊运用场景 |
---|---|---|---|---|---|---|
高级定时器TIM1、TIM8 | 16 | 向上、向下、向上/下 | 可以 | 4 | 有 | 带可编程死区互补输出 |
通用定时器TIM2、TIM5 | 32 | 向上、向下、向上/下 | 可以 | 4 | 无 | 通用;定时计数、PWM、输入捕获、输出比较 |
通用定时器TIM3、TIM4 | 16 | 向上、向下、向上/下 | 可以 | 4 | 无 | 通用;定时计数、PWM、输入捕获、输出比较 |
通用定时器TIM9~TIM14 | 16 | 向上 | 没有 | 2 | 无 | 通用;定时计数、PWM、输入捕获、输出比较 |
基本定时器TIM6、TIM7 | 16 | 向上、向下、向上/下 | 可以 | 0 | 无 | 主要运用于驱动DAC |
1.2 定时器整体与时钟来源
如上图所示,定时器主要有几个部分组成:最上层的时钟部分,中间的时间计数部分,左下的输入捕获部分和右下的输出比较部分。其中时钟的来源很多,内部时钟是用的最多的,内部时钟一般是来自于APB总线的时钟;ETR(External Trigger)则是来自外部的时钟,ITRx是内部定时器级联的输出,可以用来制作级联定时器。定时器本身有一个预分频器PSC,是需要设置的重要参数之一。
1.2 定时对应总线时钟
如上图:我们知道有些定时器挂在APB1上有些在APB2上,通过手册第二章总线结构能查到。我总结如下:
CLK | TIMx |
---|---|
APB1 | TIM2、TIM3、TIM4、TIM5、TIM6、TIM7、TIM12、TIM13、TIM14 |
APB2 | TIM1、TIM8;TIM11、TIM10、TIM9; |
1.3定时器计数模式
auto-reload prelod:其表示如果中途修改了ARR的值,是本次比较的时候就生效呢,还是在下一个比较周期的时候再生效。为1,则代表下个周期再生效,也就是被buffer了一下;为0,则代表本周期就生效,即没有buffer。从上面的描述中的"buffer"字眼,可以知道ARR的值是有一个影子寄存器的!