实现单定时器输出多路不同频率的pwm

1 、 配置:

可以使用任意通用定时器和高级定时器  , 配置成输出比较模式, 开启中断 

2、自动重装载需要关闭,并且将输出模式设置成翻转模式,开启的通达的重载载也需要关闭

最后代码如下

将输出函数开启中断即可,当只是做测试的时候 , 无需在while()里面做任何事

通过抓取波形得到的数据  ,要在一个定时器上生成多路不同频率的pwm , 那么就需要用到OC输出比较 , 并且使用翻转模式 , 这个模式和PWM模式的区别就在于,设为pwm模式只能通过arr值和psc值来调整pwm频率 ,但是在oc的翻转模式下, 可以在oc中断通过不同通道的比较值和计数值相比较去进行翻转电平 , (例如在当比较值和arr值相同时就会进入到对应通道中去进行不断的更新想要的占空比)这个值的修改就是获取当前的计数值+当前中断通道的值乘上百分之几  , 分别在一个周期内的高电平时和低电平时间修改 。 这样就可以很快的得到对应频率所需要的占空比

这样便能够实现一个定时器输出多路不同频率且可调占空比的多个通道了 ; 一个定时器最高能可以实现四个通道  。 最后贴出,学习这位博主的【stm32输出比较模式与PWM模式总结 -  CSDN App】http://t.csdnimg.cn/N2wNJ

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 2
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值