又開始玩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
發現有些引腳是天生的反向, 牛逼!
