STM32F051互补PWM不同配置的测试

2024-10-14 11:17:41

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空闲时都为低。

STM32F051互补PWM不同配置的测试

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

STM32F051互补PWM不同配置的测试

PWM1和PWM2

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

STM32F051互补PWM不同配置的测试

极性测试

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

STM32F051互补PWM不同配置的测试

TIM_OutputNState和TIM_OutputState

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

STM32F051互补PWM不同配置的测试
猜你喜欢