STM32-F429ZI双PWM配置求助:每20个主脉冲触发副通道
STM32-F429ZI Nucleo144 PWM同步触发配置方案
方案一:单定时器实现(推荐,无同步问题)
完全可以用单个定时器实现需求,无需多定时器同步:
- 保留已配置好的定时器通道1(可变频率、50%占空比PWM)
- 配置该定时器的**重复计数器(Repetition Counter)**为19(从0开始计数,累计20次定时器更新事件后触发一次重复更新)
- 配置通道2为**输出比较脉冲(Output Compare Pulse)**模式:
- 触发源选择重复更新事件(Repetition Update)
- 设置比较寄存器CCR2为0(或与ARR值一致,控制脉冲触发位置)
- 启用通道2对应的输出引脚
这样每20个通道1的PWM脉冲,通道2会自动输出一个同步脉冲,全程由同一个定时器控制,不存在同步偏差。
方案二:多定时器同步实现
若你需要用多定时器,修正之前的同步配置步骤即可:
- 主定时器(如TIM2)配置:
- 保持通道1的PWM配置不变
- 设置触发输出(TRGO)为更新事件(Update Event),每一个PWM周期输出一次触发信号
- 从定时器(如TIM3)配置:
- 时钟源选择内部触发0(ITR0)(F429中TIM3的ITR0对应TIM2的TRGO,需核对手册映射关系)
- 从模式选择复位(Reset),每次收到TRGO信号就重置计数器
- 设置自动重载寄存器ARR=19(计数器累计20次触发后溢出)
- 通道1配置为输出比较脉冲模式,CCR1=0,溢出时输出脉冲
- 确保主从定时器的时钟分频参数一致,避免计数偏差
注意事项
- 单定时器方案更简洁可靠,优先采用
- 若需调整通道2的脉冲宽度,可在输出比较模式下修改CCR2值,或切换为PWM模式2配合重复计数器
- 配置前确认定时器时钟树的分频系数,保证频率计算准确
内容的提问来源于stack exchange,提问作者NativeMode
相关产品推荐
相关产品推荐

