又开始玩PWM, 先试了一下PWM的两个引脚输出相反极性, 但是分析仪上看到, 两个脚是一样一样的.
写是这么写的:
...
TIM_OCInitStructure.TIM_OCMode=TIM_OCMode_PWM2;
TIM_OCInitStructure.TIM_OutputState=TIM_OutputState_Enable;
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_High;
TIM_OC2Init(TIM3,&TIM_OCInitStructure); //TIM3_CH2
TIM_OCInitStructure.TIM_OCPolarity=TIM_OCPolarity_Low; //TIM3_CH1
TIM_OC1Init(TIM3,&TIM_OCInitStructure);
...
我以为区别仅仅是输出电平一个高一个地,就可以.
因为我听原子哥说, PWM1模式跟2的区别是, CNT的值是大于CCR还是小于时候起作用.
这里有一个啪啪打脸:
http://www.openedv.com/thread-46264-1-1.html
引用如下:
------------------------------------------
如果是PWM1模式
如果设置TIM_OCPolarity_High TIMx_CNT<TIMx_CCR输出为高电平 TIMx_CNT>TIMx_CCR输出为低电平
如果设置TIM_OCPolarity_Low TIMx_CNT<TIMx_CCR输出就为低电平 TIMx_CNT><TIMx_CCR输出就为高电平
如果是PWM2模式
如果设置TIM_OCPolarity_High TIMx_CNT>TIMx_CCR输出为低电平 TIMx_CNT>TIMx_CCR输出为高电平
如果设置TIM_OCPolarity_Low TIMx_CNT>TIMx_CCR输出就为高电平 TIMx_CNT<TIMx_CCR输出就为低电平
解果发现直接用PWM1, 搞定.
还可以参考这个例子:
http://www.cnblogs.com/zyqgold/archive/2013/05/26/3100377.html
发现有些引脚是天生的反向, 牛逼!