一 通用定時器的相關介紹

2022-06-09 15:48:09 字數 883 閱讀 2967

stm32的定時器是個強大的模組,定時器使用的頻率也是很高的,定時器可以做一些基本的定時,還可以做pwm輸出或者輸入捕獲功能。

時鐘源問題:

名為timx的有八個,其中tim1和tim8掛在apb2匯流排上,而tim2-tim7則掛在

apb1匯流排上。其中tim1&tim8稱為高階控制定時器(advanced control timer).他們所在的apb2匯流排也比apb1匯流排要好。apb2可以工作在72mhz下,而apb1最大是36mhz。

定時器的時鐘不是直接來自apb1或apb2,而是來自於輸入為apb1或apb2的乙個倍頻器。

下面以定時器2~7的時鐘說明這個倍頻器的作用:當apb1的預分頻係數為1時,這個倍頻器不起作用,定時器的時鐘頻率等於apb1的頻率;當apb1的預分頻係數為其它數值(即預分頻係數為2、4、8或16)時,這個倍頻器起作用,定時器的時鐘頻率等於apb1的頻率兩倍。

假定ahb=36mhz,因為apb1允許的最大頻率為36mhz,所以apb1的預分頻係數可以取任意數值;當預分頻係數=1時,apb1=36mhz,tim2~7的時鐘頻率=36mhz(倍頻器不起作用);當預分頻係數=2時,apb1=18mhz,在倍頻器的作用下,tim2~7的時鐘頻率=36mhz。

有人會問,既然需要tim2~7的時鐘頻率=36mhz,為什麼不直接取apb1的預分頻係數=1?答案是:apb1不但要為tim2~7提供時鐘,而且還要為其它外設提供時鐘;設定這個倍頻器可以在保證其它外設使用較低時鐘頻率時,tim2~7仍能得到較高的時鐘頻率。

再舉個例子:當ahb=72mhz時,apb1的預分頻係數必須大於2,因為apb1的最大頻率只能為36mhz。如果apb1的預分頻係數=2,則因為這個倍頻器,tim2~7仍然能夠得到72mhz的時鐘頻率。能夠使用更高的時鐘頻率,無疑提高了定時器的解析度,這也正是設計這個倍頻器的初衷。

stm32通用定時器

stm32的定時器是個強大的模組,定時器使用的頻率也是很高的,定時器可以做一些基本的定時,還可以做pwm輸出或者輸入捕獲功能。時鐘源問題 名為timx的有八個,其中tim1和tim8掛在apb2匯流排上,而tim2 tim7則掛在 apb1匯流排上。其中tim1 tim8稱為高階控制定時器 adva...

STM32通用定時器配置

stm32通用定時器配置 一 stm32 通用定時器原理 stm32 系列的cpu 有多達8 個定時器,其中tim1 和tim8 是能夠產生三對pwm 互補輸出的高階定時器,常用於三相電機的驅動,它們的時鐘由apb2 的輸出產生。其它6 個為普通定時器,時鐘由apb1 的輸出產生。下圖是stm32參...

STM32 通用定時器基本定時功能

1.stm32的timer簡介 stm32中一共有11個定時器,其中2個高階控制定時器,4個普通定時器和2個基本定時器,以及2個看門狗定時器和1個系統嘀嗒定時器。其中系統嘀嗒定時器是前文中所描述的systick,看門狗定時器以後再詳細研究。今天主要是研究剩下的8個定時器。定時器計數器解析度 計數器型...