STM8S PWM輸出停止后 IO口電平輸出
STM8S有許多定時(shí)器支持PWM輸出,但在停止定時(shí)器后,IO口電平到底是多少呢?或高或低。
因此,為了確定PWM停止輸出電平后其對(duì)應(yīng)的值是多少,我們?cè)谕V筆WM輸出時(shí)需要對(duì)CCMR1寄存器進(jìn)行設(shè)置。
例如,
TIM2_Cmd(DISABLE);
/*停止PWM后將電平拉為低電平*/
TIM2_ForcedOC1Config(TIM2_FORCEDACTION_INACTIVE);
GPIO_WriteLow(GPIOC,GPIO_PIN_5);
即可。
恢復(fù)時(shí)候需要重新將定時(shí)器初始化
TIM2_DeInit();
TIM2_TimeBaseInit(TIM2_PRESCALER_16,uFreq);
TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, uFreq / 2,TIM2_OCPOLARITY_HIGH);
若直接調(diào)用
TIM2_OC1Init(TIM2_OCMODE_PWM1, TIM2_OUTPUTSTATE_ENABLE, uFreq / 2, TIM2_OCPOLARITY_HIGH);
是不會(huì)產(chǎn)生PWM輸出的。