STM32定时器类型对比:基本定时器 vs 通用定时器 vs 高级定时器
·
向上计数:预分频器对时钟进行预分频,计数器自增计数,当计数值达到自动重装值时,计数值清零同时产生更新中断和更新事件。(通用计数器)
向下计数模式:从重装值开始,向下自减,减到0之后,回到重装值同时申请中断。
中央对齐模式:从0开始向上计数,达到重装值后,申请中断;然后向下计数到0,在此申请中断。
基本定时器与高级定时器的计数方式:向上计数、向下计数、中央对齐方式
核心工作流程对比
基本
通用
高级
时钟源
预分频器
计数器
事件判断
更新事件/中断
更新/捕获/比较/PWM
更新/捕获/比较/PWM+死区控制+刹车
详细功能对比表
| 特性 | 基本定时器 (TIM6/TIM7) | 通用定时器 (TIM2-TIM5) | 高级定时器 (TIM1/TIM8) |
|---|---|---|---|
| 时钟源 | 内部时钟 | 内部/外部/编码器 | 同通用+门控信号 |
| 计数模式 | 仅向上计数 | 向上/向下/中央对齐 | 同通用 |
| 通道数 | 0(无IO引脚) | 4个独立通道 | 6通道(含互补输出) |
| 核心功能 | 定时/触发DAC | 定时/输入捕获/输出比较/PWM | 同通用+高级PWM控制 |
| 中断类型 | 仅更新中断 | 更新/捕获/比较/触发 | 同通用+刹车中断 |
| PWM生成 | ❌ 不支持 | ✅ 基础PWM | ✅ 带死区互补PWM |
| 编码器接口 | ❌ 不支持 | ✅ 支持 | ✅ 支持 |
| 刹车功能 | ❌ 不支持 | ❌ 不支持 | ✅ 硬件保护机制 |
| DMA支持 | ✅ 更新事件 | ✅ 多事件 | ✅ 多事件 |
| 重复计数器 | ❌ 不支持 | ❌ 不支持 | ✅ 减少中断频率 |
| 典型应用 | 基础定时/DAC触发 | 电机控制/编码器/测量 | 电源转换/电机驱动 |
核心工作流程详解
1. 基本定时器工作流程(以TIM6为例)
工作流程:
时钟→预分频→计数器→溢出时产生更新事件→触发中断
2. 通用定时器工作流程(PWM生成示例)
PWM生成流程:
计数器值↑ → 与比较寄存器匹配 → 翻转输出电平 → 周期循环
3. 高级定时器工作流程(互补PWM+死区控制)
安全机制流程:
刹车信号触发 → 立即关闭所有PWM输出 → 进入安全状态
形象比喻解释
-
基本定时器 ⏱️:
像简易厨房计时器,只能倒计时和响铃(更新中断) -
通用定时器 🔄:
像多功能智能手表:- 计时(基本定时)
- 测心率(输入捕获)
- 闹钟提醒(输出比较)
- 控制智能设备(PWM输出)
-
高级定时器 🚗:
像电动汽车控制系统:- 电机PWM控制(互补输出)
- 防短路保护(死区控制)
- 紧急刹车(刹车功能)
- 节能模式(重复计数器减少中断)
关键区别:高级定时器通过
重复计数器可生成更长的定时周期(如计数器每1000次溢出才触发中断),大大降低CPU中断负载,适合高精度控制系统。
更多推荐


所有评论(0)