STM32关闭PWM输出后,如何让IO输出固定高或低电平

看到有很多人在网上询问停止PWM时如何获取固定输出,记录在此供参考。
方法1: 设置占空比为0xffff 或0 后即可得到想要的0或1输出。
方法2 : 配置回通用IO口,再设置为0或1.
以上两种方法是网上铺天盖地搜到的方法,但是很多时候我们占空比不方便修改,需要保持固定的占空比,只是想让PWM输出或不输出时可以用下面介绍的方法。
方法3:
以TIM14的CHI为例
/* 设置GPIO 强制输出0 /
TIM_SelectOCxM(TIM14,TIM_Channel_1,TIM_ForcedAction_InActive);
TIM_CCxCmd(TIM14,TIM_Channel_1,TIM_CCx_Enable);
/
设置GPIO 强制输出1 */
TIM_SelectOCxM(TIM14,TIM_Channel_1,TIM_ForcedAction_Active);
TIM_CCxCmd(TIM14,TIM_Channel_1,TIM_CCx_Enable);
以上就可以让PWM IO直接输出0 或1。

/* 恢复原来的占空比PWM输出 */
TIM_SelectOCxM(TIM14,TIM_Channel_1,TIM_OCMode_PWM1);
TIM_CCxCmd(TIM14,TIM_Channel_1,TIM_CCx_Enable);

物联沃分享整理
物联沃-IOTWORD物联网 » STM32关闭PWM输出后,如何让IO输出固定高或低电平

发表评论