stm32高级定时器的互补输出pwm空闲电平设置问题

2019-07-20 04:51发布

想通过配置 stm32 的 TIM1 输出1ms 5个的 200KHz 的互补PWM,希望两路互补PWM空闲时均为低电平。

方法为在TIM更新中断函数中通过全局变量自加到5,改变 CCxE CCxEN 来控制PWM的开关。结果发现两路空闲时均为高电平。
1.尝试过 TIM_SelectOCxM(TIM1, TIM_Channel_2, TIM_ForcedAction_InActive)  和 TIM_ForcedOC2Config(TIM1, TIM_ForcedAction_InActive),发现只能对互补路有效果,另外一路不论在pwm工作或空闲都一直保持高电平没有pwm。


2.修改OSSR OSSI OCPolarity IdelState等均无效果,两路空闲时依旧是高电平。


3.采用重复计数器关闭TIM计数器的方式,两路互补电平为一高一低

调了好多天了依然不出效果,很急,有没有前辈有类似经验啊?

友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
25条回答
123将321
1楼-- · 2019-07-20 17:29
心静 发表于 2018-11-23 21:43
我的这个是隔一段时间输出互补的PWM,但是需要输出完后,全部是低电平,我这总是一高一低,可以加我微信一 ...

你把定时器关了,就恢复成你开始定义的状态,你可以设置为互补这两路开始状态都为低电平
123将321
2楼-- · 2019-07-20 21:34
 精彩回答 2  元偷偷看……
szczyb1314
3楼-- · 2019-07-20 22:44
 精彩回答 2  元偷偷看……
zzqssq
4楼-- · 2019-07-21 04:30
123将321 发表于 2018-11-26 17:11
互补两路PWM空闲时要都为同一电平,需要设置起始电平,然后空闲时关闭定时器,不然定时器开启,一定呈现互 ...

怎么设置起始电平呢?
123将321
5楼-- · 2019-07-21 05:38
zzqssq 发表于 2018-11-27 09:01
怎么设置起始电平呢?

看图上标记的就是了
zzqssq
6楼-- · 2019-07-21 06:44
 精彩回答 2  元偷偷看……

一周热门 更多>