Stm32高級定時器(二)
1 主從模式:主?從?
談論主從,可知至少有兩個以上的觸發或者驅動信號,stm32內部有多個定時器,可以相互之間驅動或者控制。
- 主模式:定時器使能只受驅動時鍾控制或者輸出控制信號(TRGO)。
- 從模式:復位模式, 在發生一個觸發輸入事件時,計數器和它的預分頻器能夠重新被初始化;同時,如果IMx_CR1寄存器的URS 位為低,還產生一個更新事件UEV ;然后所有的預裝載寄存器(TIMx_ARR ,TIMx_CCRx)都被更新了。
- 從模式:門控模式, 計數器的使能依賴於選中的輸入端的電平。
- 從模式:觸發模式, 計數器的使能依賴於選中的輸入端上的事件。
- 從模式:外部時鍾模式+觸發模式, 外部時鍾模式2可以與另一種從模式(外部時鍾模式1和編碼器模式除外)一起使用。這時,ETR信號被用作外部時鍾的輸入,在復位模式、門控模式或觸發模式可以選擇另一個輸入作為觸發輸入。不建議使用TIMx_SMCR寄存器的TS位選擇ETR作為TRGI。
2 PWM輸入模式
該模式是輸入捕獲模式的一個特例,特點:
- 兩個ICx信號被映射至同一個TIx輸入。
- 這2個ICx信號為邊沿有效,但是極性相反。
- 其中一個TIxFP信號被作為觸發輸入信號,而從模式控制器被配置成復位模式。
2.1 PWM捕獲結果
TIMx通過過復位啟動,復位計數器,TIMx_CCR1捕獲TI1的上升沿得到此刻CNT中的值,TIMx_CCR2捕獲TI1的下降沿得到此刻CNT中的值,那么有他們的關系就可以得到:
- TI1周期 = TIMx_CCR1 × CNT周期
- 占空比 = TIMx_CCR2/ TIMx_CCR1
2.2 配置實例
測量輸入到TI1上的PWM信號的長度(TIMx_CCR1寄存器)和占空比(TIMx_CCR2 寄存器),具體步驟如下(取決於CK_INT的頻率和預分頻器的值)
1. 選擇TIMx_CCR1的有效輸入:置TIMx_CCMR1寄存器的CC1S=01(選中TI1)。
2. 選擇TI1FP1的有效極性(用來捕獲數據到TIMx_CCR1中和清除計數器):置CC1P=0(上升沿有效)。
3. 選擇TIMx_CCR2的有效輸入:置TIMx_CCMR1寄存器的CC2S=10(選中TI1)。
4. 選擇TI1FP2的有效極性(捕獲數據到TIMx_CCR2):置CC2P=1(下降沿有效)。
5. 選擇有效的觸發輸入信號:置TIMx_SMCR寄存器中的TS=101(選擇TI1FP1)。
6. 配置從模式控制器為復位模式:置TIMx_SMCR中的SMS=100。
7. 使能捕獲:置TIMx_CCER寄存器中CC1E=1且CC2E=1。
3 PWM輸出模式
脈沖寬度調制模式可以產生一個由TIMx_ARR寄存器確定頻率、由TIMx_CCRx寄存器確定占空比的信號。
由下圖可知,TIMx_ARR=8(周期),TIMx_CCRx=4(占空比)





