打印
[STM8]

STM8S PWM输出停止后 IO口电平输出

[复制链接]
770|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
643757107|  楼主 | 2017-12-27 14:05 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
STM8S有许多定时器支持PWM输出,但在停止定时器后,IO口电平到底是多少呢?或高或低。

因此,为了确定PWM停止输出电平后其对应的值是多少,我们在停止PWM输出时需要对CCMR1寄存器进行设置。
例如,
TIM2_Cmd(DISABLE);  
/*停止PWM后将电平拉为低电平*/  
TIM2_ForcedOC1Config(TIM2_FORCEDACTION_INACTIVE);  
GPIO_WriteLow(GPIOC, GPIO_PIN_5);  
即可

沙发
643757107|  楼主 | 2017-12-27 14:05 | 只看该作者
恢复时候需要重新将定时器初始化
TIM2_DeInit();
TIM2_TimeBaseInit(TIM2_PRESCALER_16,uFreq);
TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, uFreq / 2, TIM2_OCPOLARITY_HIGH);
若直接调用
TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, uFreq / 2, TIM2_OCPOLARITY_HIGH);
是不会产生PWM输出的。

使用特权

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

本版积分规则

213

主题

3784

帖子

11

粉丝