STM32定时器(江科大笔记)

张开发
2026/4/8 14:50:22 15 分钟阅读

分享文章

STM32定时器(江科大笔记)
STM32定时器(江科大笔记)一、STM32定时器类型与资源1. 三类定时器核心差异表类型代表型号挂载总线核心功能典型应用高级定时器TIM1、TIM8APB2通用定时器全部功能 死区生成、互补输出、刹车输入、重复计数器电机驱动、三相逆变、高精度PWM通用定时器TIM2~TIM5APB1基本定时器全部功能 内外时钟、捕获/比较、编码器、主从模式PWM输出、编码器测速、脉冲计数、定时中断基本定时器TIM6、TIM7APB1定时中断、主模式触发DAC定时任务、DAC波形生成2. STM32F103C8T6定时器资源包含TIM1高级、TIM2/TIM3/TIM4通用无基本定时器TIM6/TIM7开发时需注意选型二、基础/通用定时器结构对比1. 基本定时器代表型号TIM6、TIM7APB1总线极简结构仅保留时基单元PSCCNTARR和触发控制器核心功能基础定时中断、主模式触发DAC转换限制无外部时钟、无输入捕获/输出比较、无编码器接口仅支持内部时钟2. 通用定时器代表型号TIM2、TIM3、TIM4、TIM5APB1总线完整结构在基本定时器基础上新增了4路输入捕获/输出比较通道TIMx_CH1~CH4外部时钟源(ETR)、编码器接口、主从触发模式输入滤波(完善输入波形)、边沿检测、PWM输出等功能核心应用PWM输出、脉冲计数、编码器测速、输入捕获测脉宽等三、定时器核心工作原理1. 时钟源输入左侧内部时钟模式由RCC提供系统时钟是最常用的定时模式外部时钟模式通过GPIO的ETR引脚、其他定时器的ITRx信号、TIx捕获通道输入外部时钟编码器模式通过TIx通道连接增量编码器实现电机转速/位置检测2. 时基单元核心粉色区域定时器的计数核心所有定时功能的基础PSC预分频器对输入时钟进行分频降低计数频率CNT计数器根据分频后的时钟进行计数递增/递减/中心对齐ARR自动重装载器存储计数目标值CNT计数到ARR值时触发更新事件运行控制控制定时器的启动、停止、计数方向等信号通过预分频器,输出频率促使CNT计数器计数,当计数器计数到达目标值,触发中断.3. 中断输出右侧计数溢出时通过中断输出控制向NVIC发送中断请求CPU响应后执行中断服务函数也可用于触发DMA、ADC等外设同步工作四、核心知识点与开发要点1. 定时中断核心公式定时中断周期计算公式向上计数模式$T \frac{(PSC1) \times (ARR1)}{f_{TIMxCLK}} $以72MHz系统时钟为例若PSC7199ARR9999则周期为(7200×10000)/72000000 1s实现1秒定时中断2. 选型建议简单定时/触发DAC优先用基本定时器TIM6/TIM7资源占用最少PWM输出/编码器/捕获用通用定时器TIM2~TIM5功能全面电机驱动/互补PWM必须用高级定时器TIM1/TIM8支持死区和刹车保护3. 常见开发注意事项时钟使能必须先通过RCC开启对应定时器的时钟否则无法工作中断优先级通过NVIC配置定时器中断优先级避免中断冲突自动重装载开启ARR预装载功能避免计数过程中修改ARR导致异常编码器模式需配置TI1/TI2通道的输入滤波防止计数抖动五、拓展STM32定时器进阶应用PWM输出通用/高级定时器的输出比较模式用于电机调速、LED呼吸灯等输入捕获测量脉冲宽度、频率用于超声波测距、信号采样编码器接口直接连接增量编码器无需外部电路即可实现电机位置检测定时器同步通过主从模式实现多个定时器级联扩展计数范围刹车功能高级定时器独有用于电机驱动的安全保护异常时快速关断输出需要我基于这些结构给你写一份**STM32定时器定时中断的完整代码模板含CubeMX配置和HAL库代码**吗可以直接用于项目开发。注文档部分内容可能由 AI 生成

更多文章