一、定时器概述
在STM32微控制器中,定时器(Timer)是重要的外设模块,可用于计时、PWM生成、输入捕获等场景。STM32系列根据型号不同包含多种定时器:
定时器类型 | 型号示例 | 主要功能 |
---|---|---|
基本定时器 | TIM6, TIM7 | 基础计时、触发DAC |
通用定时器 | TIM2-TIM5 | 输入捕获、输出比较、PWM |
高级定时器 | TIM1, TIM8 | 带死区控制的互补PWM输出 |
二、定时器工作原理
2.1 核心组成
-
时基单元:包含预分频器(PSC)、计数器(CNT)、自动重载寄存器(ARR)
-
输入捕获通道:用于测量脉冲宽度
-
输出比较通道:生成PWM信号
-
中断/DMA控制:支持多种事件触发
2.2 时钟源选择
/* 时钟源配置示例 */
TIM_ClockConfigTypeDef sClockSourceConfig = {
.ClockSource = TIM_CLOCKSOURCE_INTERNAL // 使用内部时钟
};