STM32輸出比較模式和PWM模式
1.兩者關(guān)系:
其實(shí)完全可以理解為PWM模式為輸出比較模式的特殊形式,pwm模式在對應(yīng)定時(shí)器上的四個(gè)通道產(chǎn)生的頻率是同步的(即相同的),而輸出比較模式在四個(gè)通道可以產(chǎn)生的頻率不同。
2.pwm很多是周期固定改變占空比來應(yīng)用的,當(dāng)然也有改變頻率的,改變占空比修改的是CCR1寄存器,而改變頻率則是arr分頻器。
3.STM32含有影子寄存器(即起實(shí)際作用的寄存器)有TIMx_ARR自動(dòng)重裝載寄存器和TIMx_CCR捕獲比較寄存器。
ARR寄存器是用來配置計(jì)數(shù)器溢出周期(也就是計(jì)數(shù)器計(jì)數(shù)最大值,比如定時(shí)器使用時(shí)周期),也就是定時(shí)器定時(shí)周期或者作為pwm輸出時(shí)的周期/頻率,而TIMx_CCR捕獲比較寄存器則是在作輸出時(shí)作為計(jì)數(shù)器響應(yīng)值,也就是pwm時(shí)改變占空比(波形)時(shí)使用的。兩者應(yīng)用不同
實(shí)際上我們的配置占空比的計(jì)算就是(RCC+1)/(ARR+1) 或者(ARR-RCC)/(ARR+1),如果我們在在固定頻率下可以更多的改變占空比,那么就psc分頻值小些,arr值大些即可
4.輸出比較或者pwm模式下,端口輸出OCx和OCxREF關(guān)系:
OCxREF輸出,而OCx輸出由至于有效電平高低,則由CCxP決定了
以O(shè)C1M為例:其定義的是OC1REF的輸出,OC1REF有效是定死的為高有效:
PWM1模式,假如當(dāng)前OC1REF對應(yīng)無效電平(OC1REF==0),那么OC1也為無效電平。
當(dāng)CC1P為0,即OC1為高有效,低無效,那么此時(shí)OC1輸出就是無效0低電平
當(dāng)CC1P為1,即OC1為低有效,高無效,那么此時(shí)OC1輸出就是無效1高電平
簡而言之就是:OC1M指的是OC1REF參考電平值,其無效(0)對應(yīng)OC1時(shí)的無效,其有效(1)對應(yīng)OC1的有效。