跳转至

TIM 定时中断

1. 简介

TIM (Timer) 定时器中断

  • 定时器可以对输入的时钟进行计数,并在数值达到设定值的时候触发中断
  • 16位计数器、预分频器、自动重装寄存器的时基单元,在72MHz计数时钟下可以实现最大59.65s的定时。
  • 不仅具备基础的定时中断功能,还包括内外时钟源选择输入捕获输出比较编码器接口主从触发等多种功能。
  • 根据复杂程度和应用场景分为了:高级定时器通用定时器基本定时器三种类型。

TIM 定时器在 STM32 中有三种类型

类型 编号 总线 功能
高级定时器 TIM1、TIM8 APB2 拥有通用定时器的全部功能,并额外具有重复计数器、死区生成、互补输出、刹车输入等功能
通用定时器 TIM2、TIM3、TIM4、TIM5 APB1 拥有基本定时器全部功能,并额外具有内外时钟源选择、输入捕获、输出比较、编码器接口、主从触发模式等功能
基本定时器 TIM6、TIM7 APB1 拥有定时中断、主从触发DAC等功能

2. 时基单元

TIM 定时器的基本组成就是时基单元

时基单元由一下三部分组成:

  • PSC (预分频寄存器):可以对输入的时钟信号进行预分频,用于为 CNT 提供脉冲信号进行计数;PSC 置 1 则可实现 2 分频,置 2 可以实现 3 分频,依此类推。
  • CNT (计数器):对于由 PSC 分频后输入的信号,每经过一个下降沿,CNT 就会 +1;其中最大上限为 \(2^{16}\)
  • ARR (自动重装寄存器):通过比较 ARR 和 CNT 的差距,如果 ARR 的值等于 CNT 则输出更新中断或者更新事件。

时基单元的时钟可由不同的设备提供:

  • 内部时钟模式:此模式下,时钟信号由内部RCC总线提供时钟。
  • 外部时钟模式2\外部时钟模式1:ETR 外部时钟
  • 外部时钟模式1:ITRx 其它定时器: 可以通过配置时基单元的更新事件映射到下一个计数器的时钟输入,从而实现定时器的级联,进而扩大定时器的最大计数时间。
  • 编码器模式\外部时钟模式1:TIx 捕获通道