1 、 配置:
可以使用任意通用定时器和高级定时器 , 配置成输出比较模式, 开启中断
2、自动重装载需要关闭,并且将输出模式设置成翻转模式,开启的通达的重载载也需要关闭
最后代码如下
将输出函数开启中断即可,当只是做测试的时候 , 无需在while()里面做任何事
通过抓取波形得到的数据 ,要在一个定时器上生成多路不同频率的pwm , 那么就需要用到OC输出比较 , 并且使用翻转模式 , 这个模式和PWM模式的区别就在于,设为pwm模式只能通过arr值和psc值来调整pwm频率 ,但是在oc的翻转模式下, 可以在oc中断通过不同通道的比较值和计数值相比较去进行翻转电平 , (例如在当比较值和arr值相同时就会进入到对应通道中去进行不断的更新想要的占空比)这个值的修改就是获取当前的计数值+当前中断通道的值乘上百分之几 , 分别在一个周期内的高电平时和低电平时间修改 。 这样就可以很快的得到对应频率所需要的占空比
这样便能够实现一个定时器输出多路不同频率且可调占空比的多个通道了 ; 一个定时器最高能可以实现四个通道 。 最后贴出,学习这位博主的【stm32输出比较模式与PWM模式总结 - CSDN App】http://t.csdnimg.cn/N2wNJ