|
我想用PWM输出4组互补的PWM,但是要求精确个数的PWM,比如,我要输出互补的PWM脉冲数量是10个。输出10个后关闭,我下次开启的时候再输出10个后关闭。我用高级定时器TIM1的重复计数寄存器的时候,给TIMx_RCR赋值9.根据手册应该会10吃益出后才会进中断。但是调试的时候,发现每次益出都进中断。还有不知道为什么,CC1IF~CC4IF的中断标志位一直是1.我CCxIE的中断使能位是关闭的。我用的是STM32L496的片子请教给我大神,解决。谢谢! |
微信公众号
手机版
我来补充一下,
加一个计数变量,初始化置0,开启PWM时开中断;
在PWM定时器更新中断服务函数中计数,进一步中断计一次数,当满10次,关闭PWM定时器,复位计数变量值为0;
下次要用输出PWM的时候,直接开启PWM,并开中断。
评分
查看全部评分
评分
查看全部评分
2、或者使用单脉冲模式结合重复计数器10次后自动停止OC输出;
评分
查看全部评分
评分
查看全部评分
用RCR+1,产生更新中断关闭PWM,可以产生固定个数的PWM了,但是最后一个波,形状变行严重,请问各位有遇到这种情况吗?,应该怎么解决。谢谢!