当前位置:数据分析 > STM32的PWM输出极性问题

STM32的PWM输出极性问题

  • 发布:2023-09-30 06:59

-->

我又开始玩PWM了。我一开始尝试了PWM的两个引脚输出相反的极性,但是我在分析仪上看到两个引脚是相同的。

这样写:

...

TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;
  TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;

  TIM_OCInitStructure.TIM_OC极性=TIM_OCPolarity_High;
TIM_OC2Init(TIM3,&TIM_OCInitStructure); //TIM3_CH2

TIM_OCInitStructure .TIM_OCPolarity=TIM_OCPolarity_Low; //TIM3_CH1
TIM_OC1Init(TIM3,&TIM_OCInitStructure);

...

我以为只是输出水平更高或更低而已。

因为听原子哥说PWM1模式和2的区别是当CNT的值大于或小于CCR时才生效。

这就打脸:

http://www.sychzs.cn/thread-46264-1-1.html

引用如下:

---------------------------------------------------------

如果是PWM1模式

如果设置了 TIM_OCPolarity_High TIMx_CNTTIMx_CCR 输出为低电平


如果设置了 TIM_OCPolarity_Low TIMx_CNT

如果是PWM2模式

如果设置了 TIM_OCPolarity_High TIMx_CNT>TIMx_CCR 输出为低电平 TIMx_CNT>TIMx_CCR 输出为高电平

如果设置了 TIM_OCPolarity_Low TIMx_CNT>TIMx_CCR 输出为高电平 TIMx_CNT

解决办法是直接使用PWM1就可以了。

您也可以参考这个例子:

http://www.sychzs.cn/zyqgold/archive/2013/05/26/3100377.html

我发现有的针脚自然是反的,棒极了!

-->

相关文章