您的位置:首页 > 其它

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

2016-06-15 14:08 330 查看
STM8S有许多定时器支持PWM输出,但在停止定时器后,IO口电平到底是多少呢?或高或低。

因此,为了确定PWM停止输出电平后其对应的值是多少,我们在停止PWM输出时需要对CCMR1寄存器进行设置。

例如,

TIM2_Cmd(DISABLE);
/*停止PWM后将电平拉为低电平*/
TIM2_ForcedOC1Config(TIM2_FORCEDACTION_INACTIVE);
GPIO_WriteLow(GPIOC, GPIO_PIN_5);


即可。

恢复时候需要重新将定时器初始化

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输出的。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: