STM32的PWM輸出極性的問題


又開始玩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

發現有些引腳是天生的反向, 牛逼!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM