STM32 PWM功能在关闭时GPIO电平不确定的情况

  刚开始接触STM32,遇到一个项目中出现在产品调试中出现在关闭PWM输出时,GPIO电平有不确定的情况。在网上查阅资料发现大神们是这样解释的:PWM在一个脉冲没有结束时关闭输出,会导致GPIO电平不确定。

  解决方法:1、在关闭PWM输出时随即将相应GPIO强制为低(这个高/低看各人的需要)

  tiM_Cmd(TIM3 ,DISABLE);//关闭PWM输出

  TIM_ForcedOC1Config(TIM3, TIM_ForcedAction_InActive);//将PWM输出强制为低

  2、在下次打开PWM时使用下面的函数

  /*因前面使用PWM强制输出为低,此处需要重新打开PWM输出*/

  TIM_SelectOCxM(TIM3, TIM_Channel_1, TIM_OCMode_PWM1);

  TIM_CCxCmd(TIM3, TIM_Channel_1, TIM_CCx_Enable);

  TIM_Cmd(GENERAL_TIM, ENABLE);//使能TIMER3,开始产生PWM

  希望对奋斗在路上的大家有帮助。

  同时也分享一些我看的资料在后续的学习中希望能够有所帮助

  (stm32直流电机驱动)

  http://www.makeru.com.cn/live/1392_1218.html?s=45051

  (零基础电子产品设计)

  http://www.makeru.com.cn/live/3727_1388.html?s=45051

  1小时彻底掌握STM32中断

  http://www.makeru.com.cn/live/3523_1666.html?s=45051

  (定时器)

  http://www.makeru.com.cn/live/1392_1199.html?s=45051

  (stm32 温湿度采集)

  http://www.makeru.com.cn/live/detail/1476.html?s=45051

posted @ 2020-05-19 13:25  国产零零柒  阅读(1032)  评论(0编辑  收藏  举报