对于pwm1和pwm2模式的理解
其实在官方在数据手册提供就直接找到对于这两种模式的解释
PWM1
向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为有效电平,否则为 无效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为无效电平(OC1REF=0),否 则为有效电平(OC1REF=1)。
PWM2
在向上计数时,一旦TIMx_CNT<TIMx_CCR1时通道1为无效电平,否则为 有效电平;在向下计数时,一旦TIMx_CNT>TIMx_CCR1时通道1为有效电平,否则为无效电 平。 其实上面的就很直接说明了在只是在触发事件输出电平的不同区别而已,例如在pwm1模式下,定时器的计算值向上计数小于设定的比较值时为有效电平。
TIM_OCInitStruct.TIM_OCMode = TIM_OCMode_PWM1;
TIM_OCInitStruct.TIM_OutputState = TIM_OutputState_Enable;
TIM_OCInitStruct.TIM_Pulse = 0;
TIM_OCInitStruct.TIM_OCPolarity = TIM_OCPolarity_High;
TIM_OC3Init(TIM3,&TIM_OCInitStruct);
向上面的设置输出极性为高,也就是说在输出有效电平时是为高。在pwm2模式下反之不是有效电平。 如果你想修改有效电平的话,你可以去修改CCMR1的OC1M和OC2M。 因为PWM1和PWM2模式是由CCMR1的OC1M和OC2M来决定的。
|