定时器配置

功能介绍

普通定时器 (TIM6/TIM7) 是 STM32 最基础的定时器模块,内部由 16 位计数器、预分频器 (PSC) 和自动重装载寄存器 (ARR) 组成。计数器在每个时钟周期递增,当计数值达到 ARR 时产生更新事件并重新从 0 开始计数。

普通定时器主要用于:产生精确的时间基准、周期性触发 ADC/DAC 转换、作为其他外设的时钟源。虽然功能简单,但占用资源少,适合不需要输入捕获和输出比较的纯定时场景。

定时器特性

基本参数

定时计算

公式:定时时间 = (PSC + 1) x (ARR + 1) / TIM_CLK
示例:TIM_CLK = 170MHz, PSC = 16999, ARR = 9999 定时 1秒

CubeMX 配置

1. 选择定时器 (TIM6/TIM7)
2. 设置预分频器 (PSC)
3. 设置自动重装载值 (ARR)

HAL 库初始化

TIM_HandleTypeDef htim6;

// 初始化定时器
htim6.Instance = TIM6;
htim6.Init.Prescaler = 16999;
htim6.Init.Period = 9999;