STM32定时器是嵌入式开发的核心外设,本文聚焦定时时间计算与配置步骤,拒绝空泛理论,直接给出可复用的技术方案。

1. 时钟源选择
使用APB1/APB2总线时钟(典型值72MHz)
示例代码:
__HAL_RCC_TIM2_CLK_ENABLE(); // 使能TIM2时钟
2. 分频系数计算
公式:分频系数 = (PSC+1)
目标:将高频时钟降至1kHz~1MHz范围
例:72MHz时钟需分频至10kHz → PSC=7199
3. 重装载值设定
定时时间公式:
定时时间(s) = (ARR+1) / (时钟频率/(PSC+1))
实战案例:
1秒定时 → ARR=9999,PSC=7199
寄存器配置流程
TIM2->PSC = 7199; // 分频系数
TIM2->ARR = 9999; // 自动重装载值
TIM2->CR1 |= TIM_CR1_CEN; // 启动定时器
常见问题排查
❌ 定时偏差:检查PSC和ARR的数值溢出(最大值65535)
❌ 中断不触发:确认NVIC中断使能寄存器配置
✅ 推荐工具:STM32CubeMX自动生成初始化代码
本文凡亿教育原创文章,转载请注明来源!

扫码关注











































