STM32 的定时器非常强大,我计划分好几篇文章来细讲。本文介绍基本定时器的原理和使用方法。而通用定时器和高级定时器都是从基本定时器扩展丰富而来,所以先把基本定时器掌握了,为下一步掌握更高级的定时器打好基础。
  STM32中,基本定时器有TIM6和TIM7,我们就以这两个定时器说起。TIM2-TIM5 和 TIM9-TIM14是通用定时器,而TIM1和TIM8是高级控制定时器。

定时器的核心原理其实很简单 ——通过对固定频率的时钟信号计数,来衡量时间的流逝,就像我们通过心跳次数估算时间一样。

生活中的类比:

你的心跳每分钟 60 次(相当于时钟频率),计数 60 次就是 1 分钟(计时结果);
STM32F4 的主频 168MHz,意味着每秒能产生 168000000 个时钟脉冲,定时器对这些脉冲计数,就能换算出精确的时间。
关键概念:

计数器(CNT):核心计数单元,按时钟脉冲递增 / 递减,16 位或 32 位分辨率(最大计数值 65535 或 4294967295);
预分频器(PSC):对输入时钟分频,降低计数频率(如 84MHz 时钟经 83 分频后,计数频率为 1MHz);
自动重装载寄存器(ARR):存储计数器的最大计数值,计数到该值后会产生溢出事件,计数器复位重新计数;
定时公式:Tout = ((ARR+1) × (PSC+1)) / Tclk(Tout 为溢出时间,Tclk 为定时器输入时钟频率)。

百度网盘 请输入提取码

Logo

智能硬件社区聚焦AI智能硬件技术生态,汇聚嵌入式AI、物联网硬件开发者,打造交流分享平台,同步全国赛事资讯、开展 OPC 核心人才招募,助力技术落地与开发者成长。

更多推荐