【STM32】定时器外部时钟模式详解
⏱️ STM32 定时器 — 外部时钟模式详解
STM32 的定时器除了使用内部时钟(来自 APB1/APB2 总线)进行计数,还可以使用外部信号源作为时钟输入,实现更丰富的控制功能。本文基于图示,解析常见的外部时钟模式及其输入路径。
🔀 外部时钟模式概览
STM32 定时器支持以下几种外部时钟输入模式:
| 模式名称 | 描述 |
|---|---|
| 外部时钟模式 1 | 外部信号通过 TIx 通道输入,作为触发源驱动定时器 |
| 外部时钟模式 2 | 外部信号通过 ETR(外部触发输入)输入,直接作为定时器的时钟源 |
🔧 图示结构分解
我们从图中识别出主要的组成模块和信号路径,按模块进行讲解:

🟡 内部时钟:APB1/APB2
🔵 外部触发输入(ETR)
ETR(External Trigger)是定时器的专用外部输入端口,路径如下:
ETR → 极性选择 → 边沿检测 → 预分频 → 输入滤波 → 触发器
📌 可通过设置决定 ETR 的输入极性(上升/下降沿)、是否进行滤波和预分频等操作。
✅ 外部时钟模式 2(External Clock Mode 2)
🔵 输入通道 TI1 / TI2
定时器可将普通通道输入也作为外部时钟源,路径如下:
TI1 → 输入滤波器 → TI1FP1 → 边沿检测器(生成 TI1_ED)
TI2 → 输入滤波器 → TI2FP2
📌 经滤波后,形成 TIxFPx 信号,再作为触发源输入到触发控制器。
✅ 外部时钟模式 1(External Clock Mode 1)
🔗 触发控制器(Trigger Control)
🧠 从模式控制器(Slave Mode Controller)
用于设置定时器的响应方式,有如下几种模式:
| 模式 | 含义 |
|---|---|
| Disabled | 不响应触发 |
| Reset | 收到触发源信号后,CNT 被清零 |
| Gated | TRGI 有效时 CNT 开始计数,失效则停止 |
| Trigger | TRGI 信号触发一次计数周期 |
| External Clock | TRGI 被当作时钟源(即外部时钟模式 1) |
🔄 与 CNT 计数器的关系
触发控制器和从模式控制器共同决定 计数器的计数时机与频率。
🧰 应用场景举例
✅ 外部频率测量
✅ 外部脉冲控制 PWM 输出
✅ 总结
STM32 的外部时钟模式灵活强大,配合触发控制器与从模式控制器,可实现:
掌握 ETx、TIx、TRGI 的传递逻辑是理解定时器高级应用的关键。
作者:hallo-ooo