STM32F10x系列總共最多有8個定時器:
三種STM32定時器區別:
通用定時器功能特點描述:
①、 STM32 的通用 TIMx (TIM2、TIM3、TIM4 和 TIM5)定時器功能特點包括:
-
位于低速的APB1總線上(時鐘來源可以是APB1的時鐘)
-
16 位向上、向下、向上/向下(中心對齊)計數模式,自動裝載計數器(TIMx_CNT)。
-
16 位可編程(可以實時修改)預分頻器(TIMx_PSC),計數器時鐘頻率的分頻系數 為 1~65535 之間的任意數值。
-
4 個獨立通道(TIMx_CH1~4),這些通道可以用來作為:①、輸入捕獲、 ②、輸出比較、③、PWM 生成(邊緣或中間對齊模式) 、 ④、單脈沖模式輸出 。
-
可使用外部信號(TIMx_ETR)控制定時器和定時器互連(可以用 1 個定時器控制另外一個定時器)的同步電路。
-
如下事件發生時產生中斷/DMA(6個獨立的IRQ/DMA請求生成器):
??????????????①更新:計數器向上溢出/向下溢出,計數器初始化(通過軟件或者內部/外部觸發)
??????????????②觸發事件(計數器啟動、停止、初始化或者由內部/外部觸發計數)
??????????????③輸入捕獲
??????????????④輸出比較
??????????????⑤支持針對定位的增量(正交)編碼器和霍爾傳感器電路
??????????????⑥觸發輸入作為外部時鐘或者按周期的電流管理
② STM32 的通用定時器可以被用于:測量輸入信號的脈沖長度(輸入捕獲)或者產生輸出波形(輸出比較和 PWM)等。
③ 使用定時器預分頻器和 RCC 時鐘控制器預分頻器,脈沖長度和波形周期可以在幾個微秒到幾個毫秒間調整。STM32 的每個通用定時器都是完全獨立的,沒有互相共享的任何資源。
計數器模式:
通用定時器可以向上計數、向下計數、向上向下雙向計數模式。
- 向上計數模式:計數器從0計數到自動加載值(TIMx_ARR),然后重新從0開始計數并且產生一個計數器溢出事件。
- 向下計數模式:計數器從自動裝入的值(TIMx_ARR)開始向下計數到0,然后從自動裝入的值重新開始,并產生一個計數器向下溢出事件。
- 中央對齊模式(向上/向下計數):計數器從0開始計數到自動裝入的值-1,產生一個計數器溢出事件,然后向下計數到1并且產生一個計數器溢出事件;然后再從0開始重新計數。
通用定時器工作過程:
計數時鐘的選擇:
時基單元:
更新事件:
捕捉比較陣列介紹:
輸入捕捉模式:
PWM模式: