久芯网

关于STM32F4 定时器输出PWM问题

avatar outman777 提问时间: 2023-08-27 12:04:59 / 未解决
请教各位如何用STM32定时器实现一个周期输出下图PWM2的波形呢(低-高-低-高-低)?万分感谢您的解答!

如需获得 STM32F4 等器件的更多信息,请点击链接或 点击此处 联系在线客服!

7个回答
  • avatar yr
    回答时间: 2023-08-27 12:33:33

    它的周期是T2,PWM1和PWM2是互补的,只是PWM2在中间挖了个槽,在电机单电阻驱动的方式中,有时某路的pwm也需要中间挖槽,需要ccr6配合产生combined pwm,建议读一下手册这个章节。建议计数方式配成center aligned模式,PWM1(PWM2 mode)和PWM2(PWM1 mode),ccr1=ccr2=占空比,然后pwm2要结合ccr6,就可以挖出一个槽。

  • avatar xmshao
    回答时间: 2023-08-27 13:03:57

    你的一个周期到底哪个?T1 还是T2?

  • avatar xmshao
    回答时间: 2023-08-27 13:33:37

  • avatar outman777
    回答时间: 2023-08-27 13:50:39
    xmshao 发表于 2021-7-21 11:34

    是T2呢 PWM1和PWM2周期相同的

  • avatar outman777
    回答时间: 2023-08-27 14:09:08
    yr 发表于 2021-7-21 12:01
    它的周期是T2,PWM1和PWM2是互补的,只是PWM2在中间挖了个槽,在电机单电阻驱动的方式中,有时某路的pwm也 ...

    首先感谢您的解答,在手册中没有发现CCR6寄存器,能帮助解答一下这种模式具体是什么呢,关键词是什么呢?我自己设置了中心对齐模式,PWM1方式计数,需要增加或改变哪些设置?再次感谢您的解答! 我自己设想定时器可以如图设置两个比较值,一个周期进行两次比较(我使用的是高级定时器TIM8),不知是否存在这种模式设置呢?

  • avatar butterflyspring
    回答时间: 2023-08-27 14:28:10

    如果用STM32F4系列的话,它的定时器没有更先进的组合方式。所以挖槽可以采用中心对齐方式,通过DMA给比较寄存器赋值。这时候要关掉预装载功能。具体可以参考手绘附图。 如果是用STM32F3或者G4系列,定时器有更强大功能,组合PWM功能,如楼上同学所说,通过组合AND 或 OR的信号方式,可以输出这种挖槽的波形或者更复杂的波形。这种方式可以参考官方的参考手册,如附图2 部分

  • avatar xmshao
    回答时间: 2023-08-27 14:45:33

    实现这个波形的方式肯定不是固定的,方式很多。 基于你现在的情况,或许可以这样设计: 第1路使用常规的PWM输出,采用中心对齐计数模式。 另外一路就选用比较输出模式,通过DMA修改CCR,基于ARR与CCR的比较值直接 体现输出结果,此时记得关闭CCR的预装功能。

会员中心 微信客服
客服
回到顶部