平台STM32F407+HAL库
TIM14输出PWM时,TIM_OCPolarity控制PWM的输出电平问题,需要结合TIM_OCMode两者共同决定。
以下是个人理解:(如有错误,欢迎朋友指正)
(1)PWM1模式
TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM1; //PWM1模式下针对的是跳变后的电平情况
TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High; //到达跳变值TIM_Pulse,电平跳变为高电平
TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_Low; //到达跳变值TIM_Pulse,电平跳变为低电平
(2)PWM2模式
TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM2; //PWM2模式下针对的是跳变前的电平情况
TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High; //跳变值到达TIM_Pulse之前,输出高电平
TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_Low; //跳变值到达TIM_Pulse之前,输出低电平
以上是用HAL库配置PWM实验时遇到的一些疑惑点,自己结合网上零零散散的讲解,写出的一些理解,如果有误,希望指正。 |