STM32F051互补PWM不同配置的测试
STM32的PWM功能很强悍,但是对于刚从51转过来朋友估计会很不习惯,为了加深对STM32的PWM功能的了解,测试了一下不同PWM配置下的波形,在这里记录下。用的是STM32F051的TIM1的第一通道。
工具/原料
Keil
Saleae Logic
TIM_OCIdleState测试
1、配置timeOcInitTypeDef.TIM_OCIdleState = TIM_OCIdleState_Reset;t足毂忍珩imeOcInitTypeDef.TIM_OCNIdleState = TIM_OCIdleState_Reset;即N和P空闲都是Reset,输出电平在PWM空闲时都为低。

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

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

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

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