STM32F051互补PWM不同配置的测试
1、配置timeOcInitTypeDef.TIM_OCIdleState = TIM_OCIdleState_Reset;
timeOcInitTypeDef.TIM_OCNIdleState = TIM_OCIdleState_Reset;
即N和P空闲都是Reset,输出电平在PWM空闲时都为低。


2、配置timeOcInitTypeDef.TIM_OCIdleState = TIM_OCIdleState_Set;
timeOcInitTypeDef.TIM_OCNIdleState = TIM_OCIdleState_Reset;
即P空闲为Set,N空闲为Reset,按理P极在空闲时应该输出高才对,可是实测却还是低,这个就不懂了!


1、设置为PWM1时的波形,可以看到P极的占空比很小。

2、设置为PWM2时的波形,可以看到P极的占空比变得很大,刚好是PWM1是的相反值。结合规格书,可知PWM1和PWM2在效果上来看可以认为是极性相反。

1、两张图,一张P和N的极性都是High,另一张P极性为Low,N极性为High,两个图显示的PWM一个是互补的,另一个是一样的,由此可知TIM_OCNPolarity和TIM_OCPolarity决定了PWM输出的极性,当P和N设置成相反极性是他们的输出波形是一样的。


1、设置timeOcInitTypeDef.TIM_OutputNState = TIM_OutputNState_Disable;后N极的PWM波形不见了,可知TIM_OutputNState控制N极的输出。

2、设置timeOcInitTypeDef.TIM_OutputState = TIM_OutputState_Disable;后P极的PWM波形依然好好的,这个就不懂了,说好的控制P极的输出使能呢?
