理论知识
📌一、 定时器的作用
- 时间基准生成:产生精确时间间隔
- 事件计数:对外部脉冲进行计数
- 波形生成:PWM输出、脉冲调制
- 输入捕获:测量脉冲宽度/频率
- 输出比较:产生精确时间事件
🔧 二、硬件架构组成
⚙️ 三、关键工作模式
-
基本定时模式
- 溢出时间计算:
T = (ARR+1)*(PSC+1)/TIMx_CLK - 应用:系统滴答定时、延时生成
- 溢出时间计算:
-
输入捕获模式(IC)
- 测量原理:
┌──脉冲上升沿→ 捕获CNT值
└──脉冲下降沿→ 再次捕获
Δ值 = 两次捕获差值 × 时钟周期
- 测量原理:
-
PWM生成模式
- 关键参数:
• 周期由ARR值决定
• 占空比由CCRx寄存器控制 - 应用:电机控制、LED调光
- 关键参数:
-
编码器接口模式
- 支持正交编码器信号解码
- 自动识别方向并计数
🔌 四、时钟源配置
- 内部时钟(CK_INT)
- 外部时钟模式1(TIx引脚)
- 外部时钟模式2(ETR引脚)
- 内部触发输入(ITRx)
🎛️ 五、高级功能
-
主从模式配置
- 定时器级联
- 同步触发机制
-
互补输出(高级定时器)
- 带死区控制的PWM输出
- 适用于电机驱动电路
-
刹车功能
- 紧急信号输入保护
- 快速关闭PWM输出
📊六、TIM定时器分类:
- 1.基本定时器:
- 预分频、自动装载值、自定义计数方向、自定义触发事件
- 单个脉冲输出
- 可以产生DMA请求定期搬运数据
- 2.通用定时器:
- 具有基本定时器的全部功能
- 四个独立的GPIO通道可以进行输入捕获、输出比较、PWM生成、编码模式等
- 3.高级定时器
- 通用定时器的全部功能
- 八个GPIO通道可以支持反向或互补PWM输出
- 一个GPIO通道可以支持外部输入信号引入刹车重启等功能
💡 七、典型应用场景
- 周期性中断触发(系统心跳)
- 超声波测距(输入捕获时间差)
- 直流电机控制(PWM调速)
- 红外遥控解码(脉冲宽度识别)
- 频率计实现(外部信号计数)
⚠️ 注意事项:
- 注意定时器时钟树的使能
- 合理选择预分频系数平衡精度与范围
- 中断服务函数中及时清除标志位
- 使用DMA时可实现无CPU干预的数据传输
- 高级定时器需要配置重复计数器实现更长定时