【问题标题】:stm32: PWM generator with 1/20 pulsesstm32:具有 1/20 脉冲的 PWM 发生器
【发布时间】:2022-11-10 08:31:48
【问题描述】:
我正在努力设置 STM32-F429ZI MCU(Nucleo 144 板)以生成以下 PWM 模式:
第一个具有可变频率和 50% 占空比的通道 - 至少我已经完成了这个工作 -
第二个通道在通道 1 的每 20 个脉冲中发出一个脉冲。
这不是主要的编码问题,而是我猜的定时器设置的理解问题(使用 STM32CubeIDE)。我敢打赌有真正简单的解决方案......
我认为只有1个计时器没有办法做到这一点?
我很高兴有任何建议...
我已经尝试将 TIM2 作为 TIM3 和 4 的时钟源,但无法使它们同步。
为了更好地说明我想要做什么:
【问题讨论】:
标签:
timer
stm32
pwm
nucleo
mcu
【解决方案1】:
我不确定是否可以通过两个计时器同步来完成(陷阱是第一个计时器的可变频率)。但是你可以使用单定时器+DMA来重写第二个通道的配置:
- 创建 20 个值的内存数组,其中一个值启用第二个通道,其他 19 个禁用它
- 设置 DMA 以触发定时器更新并将数据从阵列移动到 CCMRx(或 CCRx)寄存器。当然,DMA 应该是循环模式