time1定时器在中断里控制其高电平可行吗

2019-07-14 16:07发布

我现在用time1输出一个固定频率的pwm,我打算在中断里控制其高电平(比如每三个高电平关闭pwm输出),可行吗
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
13条回答
dull20112011
1楼-- · 2019-07-15 18:41
可以的,检测三个周期就有三次是高电平,用一个变量计数,计数到后关闭PWM即可
jerry181855
2楼-- · 2019-07-15 19:56
楼主是想在中断里改变PWM波的高电平脉冲宽度是不是?如果这个目的,是可以在中断中写入新的CCRx寄存器值,达到改变脉宽的目的。也可以不用中断,设置OCxPE,可以在中断外部改变CCRx寄存器,定时器更新时自动加载。
如果楼主是想输出特定数量的PWM波,比如想输出3个50%占空比的方波,ARR寄存器设置你的pwm频率,CCRx寄存器设置为ccrx=arr/2,可以在中断里设置计数变量,到达需要数目关闭定时器输出,也可以使用TIMx_RCR寄存器相关用法,自动计数输出。


周小舟1
3楼-- · 2019-07-15 22:11
jerry181855 发表于 2018-11-12 11:07
楼主是想在中断里改变PWM波的高电平脉冲宽度是不是?如果这个目的,是可以在中断中写入新的CCRx寄存器值,达到改变脉宽的目的。也可以不用中断,设置OCxPE,可以在中断外部改变CCRx寄存器,定时器更新时自动加载。
如果楼主是想输出特定数量的PWM波,比如想输出3个50%占空比的方波,ARR寄存器设置你的pwm频率,CCRx寄存器设 ...

回答挺细心,但是我现在用tim1已经输出一个频率固定,占空比固定的pwm了,我打算控制让其实现每三个高电平就停止pwm输出(应该在中断里)
asd005
4楼-- · 2019-07-16 01:52
ke5627712
5楼-- · 2019-07-16 05:28
 精彩回答 2  元偷偷看……
asd004
6楼-- · 2019-07-16 09:56
没用过

一周热门 更多>