输入捕获与输出比较
2025/9/8大约 3 分钟
输入捕获模式
输入捕获
TI是输入通道
每个TIM有多个TI


一个TI能设置为上升沿或下降沿触发捕获,不能设置为双边沿捕获
所以
计算高电平时间:将TI2设置为下降沿触发,和TI1的寄存器值相减



总结

输出比较模式(PWN)
数字信号来模拟模拟信号
输出比较

输出比较模式类型

以下是 STM32 定时器的 输出比较模式 类型及其功能说明,以表格形式列出:
| 输出比较模式 | 描述 | 应用场景 |
|---|---|---|
| OCMode: TIM_OCMODE_TIMING | 定时模式:输出比较触发时,什么都不做,仅用于定时。 | 单纯的时间比较,不需要控制外部引脚。 |
| OCMode: TIM_OCMODE_ACTIVE | 激活模式:当计数器与比较寄存器匹配时,将输出引脚设置为高电平。 | 控制外设状态为“激活”(例如开始充电、开关切换)。 |
| OCMode: TIM_OCMODE_INACTIVE | 非激活模式:当计数器与比较寄存器匹配时,将输出引脚设置为低电平。 | 控制外设状态为“关闭”(例如停止充电、关闭设备)。 |
| OCMode: TIM_OCMODE_TOGGLE | 翻转模式:当计数器与比较寄存器匹配时,输出引脚的状态翻转(高电平变低电平,低电平变高电平)。 | 产生方波或脉冲信号(如方波信号发生器)。 |
| OCMode: TIM_OCMODE_PWM1 | PWM 模式 1:当计数器值小于比较值时,输出为高电平;当计数器值大于比较值时,输出为低电平。 | 生成 PWM 信号,控制占空比(如 LED 调光、电机控制)。 |
| OCMode: TIM_OCMODE_PWM2 | PWM 模式 2:与 PWM 模式 1 相反,当计数器值小于比较值时输出为低电平,计数器值大于比较值时输出为高电平。 | 特殊情况下需要反相 PWM 输出信号。 |
| OCMode: TIM_OCMODE_FORCED_ACTIVE | 强制激活模式:输出立即设置为高电平,不依赖计数器和比较寄存器的匹配。 | 特殊控制场景,直接强制输出高电平。 |
| OCMode: TIM_OCMODE_FORCED_INACTIVE | 强制非激活模式:输出立即设置为低电平,不依赖计数器和比较寄存器的匹配。 | 特殊控制场景,直接强制输出低电平。 |
总结
- 定时模式(TIMING):用于单纯的时间比较,不改变输出状态。
- 激活/非激活模式(ACTIVE/INACTIVE):在比较匹配时设置输出高电平或低电平。
- 翻转模式(TOGGLE):用于生成固定频率的方波信号。
- PWM 模式(PWM1/PWM2):常用于生成占空比可调的 PWM 信号。
- 强制模式(FORCED ACTIVE/INACTIVE):立即改变输出状态,适合特定应用需求。
根据实际的定时器输出需求,选择合适的输出比较模式!



100是计数器的自动重装载值,是计数器最大值
Pulse是设置的比较寄存器里面的值


设置预分频器后得到的频率就是计数频率(1M:1S计数器变化1M个数),每变化500(计数周期)重装(一个计数周期就是PWM周期)
PWM频率越大,那么看到的灯越连续

