一、前言 定时器是STM32单片机最核心、最高频使用的外设,无论是定时中断、PWM电机驱动、输入捕获测距、编码器测速,还是DMA脉冲传输,全部依赖TIM定时器实现。二、STM32F4定时器硬件架构2.1 定时器分类(F407全系列)STM32F407内置14个定时器(TIM1~TIM14),按功能分为4类,各司其职:高级定时器(TIM1、TIM8):挂载APB2总线,带刹车、互补PWM,适用于电机、电源逆变等大功率场景通用定时器(TIM2~TIM5、TIM9~TIM14):最常用,支持定时中断、PWM、输入捕获、编码器模式,满足绝大多数开发场景基本定时器(TIM6、TIM7):仅支持基础定时中断,无IO输出,纯定时专用,资源占用极低2.2 核心硬件特性(源码对应功能)结合官方TIM源码注释,F407定时器核心能力:16位向上/向下/上下自动重载计数器,计数模式灵活切换16位可编程预分频器,分频范围1~65536,支持运行中动态修改最多4个独立通道,支持输入捕获、输出比较、PWM、单脉冲输出支持外部时钟触发、多定时器级联同步、增量式编码器测速支持中断、DMA双传输模式,适配高速数据采集与波形输出2.3 时钟总线规则(定时不准核心原因)F407定时器时钟频率不直接等于系统时钟,遵循总线倍频规则:APB1总线(TIM2/3/4/5/6/7/12/13/14):预分频≠1时,定时器时钟=APB1时钟×2APB2总线(TIM1/8/9/10/11):预分频≠1时,定时器时钟=APB2时钟×2💡 关键结论:CubeMX配置定时必须核对总线时钟,否则定时时间、PWM频率完全偏差!三、HAL库TIM整体架构 打开官方stm32f4xx_hal_tim.c,整个定时器驱动分为5大功能模块,架构清晰、分层解耦,这也是HAL库标准化的核心优势。3.1 源码功能分区模块分组核心功能