1:通用定時器包括一個由可編程的預分頻器驅動的16 位自動重載計數器。通用定時器可用於多種用途,例如測量輸入信號的脈沖寬度(輸入捕獲),生成輸出波形(輸出比較和PWM)。脈沖寬度和波形周期可通過定時器的預分頻器及RCC 時鍾控制器的預分頻器在幾微秒到幾毫秒之間調整。這些通用定時器是完全獨立的,不共享任何資源。
2:特性
- 16 位的向上,向下,向上/向下的自動重載計數器
- 16 位的可編程預分頻器(也可以不工作)允許以在1 到65535 范圍內的任何因子對計數器時鍾進行分頻
- 多達4 個獨立的通道用於:
- 輸入捕獲
- 輸出比較
- 產生PWM(邊沿和中心對齊模式)
- 單脈沖輸出
- 同步電路和外部信號一起控制定時器,並和多個定時器互連。
- 以下事件產生中斷/DMA:
- 更新:計數器上溢/下溢,計數器初始化(由軟件或內部/外部觸發)
- 觸發事件(計數器開始,停止,初始化或由內部/外部觸發計數)
- 輸入捕獲
- 輸出比較
*********************************************************************************************************************************
STM32的定時器是個強大的模塊,定時器使用的頻率也是很高的,定時器可以做一些基本的定時,還可以做PWM輸出或者輸入捕獲功能。
先看個圖:

上圖說明了,STM32中相關模塊的總線結構,而這里用於測試的TIM3是接在了APB1上,APB1最大頻率是36MHz,是算個低速的總線。
當APB1 的預分頻系數為1 時,這個倍頻器不起作用,定時器的時鍾頻率等於APB1 的頻率;當APB1的預分頻系數為其它數值(即預分頻系數為2、4、8 或16)時,這個倍頻器起作用,定時器的時鍾頻率等於APB1 的頻率兩倍。
也就是,當APB1不分頻,TIM3的時鍾速度為36MHz,當2分頻是,APB1變成18MHz,但是TIM又會倍頻,即TIM時鍾等於18*2=36MHz。//為何這么設計...
