打印
[STM32F0]

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

[复制链接]
4603|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输出使能禁止了吧,这样他们输出到底是多少是不确定的,要确保关掉必须使他们都输出低电平。

使用特权

评论回复
5
airwill| | 2015-4-10 09:34 | 只看该作者
把OCx和OCxN输出使能禁止      这个办法是可行的.
不过这里要特别注意一点, 关掉 OCx 后, OCxN 要翻转哦, 否则信号不正常了.

使用特权

评论回复
6
shdjdq| | 2015-4-10 10:07 | 只看该作者
把PWM的相关口设置成普通的IO,再进行IO操作?

使用特权

评论回复
7
Alisa_song| | 2015-5-27 13:46 | 只看该作者
a409600516 发表于 2015-4-8 16:07
您好,这个我知道,问题是我想只关掉一路。就是上下两桥臂都输出低电平。
TIM_CCxCmd(TIM1, TIM_Channel_ ...

你好,请问你想关掉互补PWM的任意一路,问题解决了吗?可否指导下,我现在也遇到相同的问题。谢谢

使用特权

评论回复
8
Zpc| | 2015-12-24 11:24 | 只看该作者
可以一个的CCRx设置成0,另一个的设置成最大,就一高一低了。

使用特权

评论回复
9
刘瑶瑶| | 2017-4-11 17:35 | 只看该作者
你好,可以问你一个关于STM32F051的问题么,输出PWM波的,最近我也在做这个

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

4

主题

5

帖子

2

粉丝