stm32有多達8個定時器,有2個高級定時器TIM1和TIM8(常用於三相電機的驅動)時鐘由APB2產生。
其他的TIM2-7爲普通定時器,時鐘由APB1的輸出產生。
看時鐘數的圖可以看出定時器的時鐘來自於輸入APB1或APB2的一個倍頻器。
當APB的預分頻係數不等於1時才起作用,這時時鐘頻率就等於APB的頻率的兩倍。
舉例:
假定AHB=36MHz,因爲APB1允許的最大頻率爲36MHz,所以APB1的預分頻係數可以取任意數值;
當預分頻係數=1時,APB1=36MHz,TIM2~7的時鐘頻率=36MHz(倍頻器不起作用);
當預分頻係數=2時,APB1=18MHz,在倍頻器的作用下,TIM2~7的時鐘頻率=36MHz。
APB1不但要爲TIM2~7提供時鐘,而且還要爲其它外設提供時鐘;設置這個倍頻器可以在保證其
它外設使用較低時鐘頻率時。所以在需要TIM2-7的時鐘頻率爲36MHZ時不直接取APB1的預分頻係數。
注意:APB1的最大頻率只能爲36MHZ,當AHB=72MHz時,APB1的預分頻係數必須大於2.