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-21 12:03
 精彩回答 2  元偷偷看……
zzqssq
2楼-- · 2019-07-21 16:24
123将321 发表于 2018-11-27 11:30
你不是要设置 两路互补PWM空闲时均为低电平,你按照我那样设置,然后空闲时,你把定时器关了,两路互补PW ...

好的我试试
zzqssq
3楼-- · 2019-07-21 17:53
 精彩回答 2  元偷偷看……
123将321
4楼-- · 2019-07-21 20:10
zzqssq 发表于 2018-11-27 13:52
刚刚试过了,还是不行啊,老哥方便发完整的代码吗?我对比看看有什么差别

主要函数就这些了,DMA功能我这版本没有加,忽略过去了

心静
5楼-- · 2019-07-21 20:40
123将321 发表于 2018-11-27 14:10
主要函数就这些了,DMA功能我这版本没有加,忽略过去了

兄弟,你这样我试过了,不行啊
心静
6楼-- · 2019-07-22 00:57
 精彩回答 2  元偷偷看……

一周热门 更多>