[STM32F0] stm32f051c8t6产生6路互补PWM,如何关掉任意一路?

[复制链接]
4927|8
 楼主| a409600516 发表于 2015-4-1 19:44 | 显示全部楼层 |阅读模式
TIM_CCxCmd(TIM1, TIM_Channel_1, TIM_CCx_Enable);
用这个函数死活不成功,直接TIM->CCER&=0xfe;也不行!
不知道什么原因,是不是锁死什么寄存器造成的
mmuuss586 发表于 2015-4-1 22:34 | 显示全部楼层
TIM1->CCER=0;
这样就全都关掉了;
 楼主| a409600516 发表于 2015-4-8 16:07 | 显示全部楼层
mmuuss586 发表于 2015-4-1 22:34
TIM1->CCER=0;
这样就全都关掉了;

您好,这个我知道,问题是我想只关掉一路。就是上下两桥臂都输出低电平。
TIM_CCxCmd(TIM1, TIM_Channel_1, TIM_CCx_Disable);
TIM_CCxNCmd(TIM1, TIM_Channel_1, TIM_CCxN_Disable);
我用这两个函数后,结果是一个高一个低,不能同时为低
new_luc 发表于 2015-4-9 20:59 | 显示全部楼层
a409600516 发表于 2015-4-8 16:07
您好,这个我知道,问题是我想只关掉一路。就是上下两桥臂都输出低电平。
TIM_CCxCmd(TIM1, TIM_Channel_ ...

你这个是把OCx和OCxN输出使能禁止了吧,这样他们输出到底是多少是不确定的,要确保关掉必须使他们都输出低电平。
airwill 发表于 2015-4-10 09:34 | 显示全部楼层
把OCx和OCxN输出使能禁止      这个办法是可行的.
不过这里要特别注意一点, 关掉 OCx 后, OCxN 要翻转哦, 否则信号不正常了.
shdjdq 发表于 2015-4-10 10:07 | 显示全部楼层
把PWM的相关口设置成普通的IO,再进行IO操作?
Alisa_song 发表于 2015-5-27 13:46 | 显示全部楼层
a409600516 发表于 2015-4-8 16:07
您好,这个我知道,问题是我想只关掉一路。就是上下两桥臂都输出低电平。
TIM_CCxCmd(TIM1, TIM_Channel_ ...

你好,请问你想关掉互补PWM的任意一路,问题解决了吗?可否指导下,我现在也遇到相同的问题。谢谢
Zpc 发表于 2015-12-24 11:24 | 显示全部楼层
可以一个的CCRx设置成0,另一个的设置成最大,就一高一低了。
刘瑶瑶 发表于 2017-4-11 17:35 | 显示全部楼层
你好,可以问你一个关于STM32F051的问题么,输出PWM波的,最近我也在做这个
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

5

帖子

2

粉丝
快速回复 在线客服 返回列表 返回顶部