stm32定時(shí)器時(shí)鐘源問題
在STM32F1系列中,其中定時(shí)器TIM1、TIM8是掛在在APB2上的,而定時(shí)器TIM2、3、4是關(guān)在在APB1上的。
在工程中我們一般設(shè)置APB1CLK = 36M APB2CLK = 72M
但是為什么這幾個(gè)定時(shí)器在計(jì)算定時(shí)時(shí)間的時(shí)候都是使用72M進(jìn)行計(jì)算呢?
在時(shí)鐘樹上我們可以看到,定時(shí)器不是單純的掛在在APB時(shí)鐘源上的,而是經(jīng)過了一個(gè)倍頻器,而這個(gè)倍頻器的倍頻值受APBx時(shí)鐘相對(duì)AHB的分頻系數(shù)控制的,分頻系數(shù)為1則x1,其他則x2
拿我們上面的時(shí)鐘配置來說,AHB=72M APB1CLK =36M,是一個(gè)二分頻的關(guān)系,這個(gè)時(shí)候就是觸發(fā)倍頻器x2
這樣掛在APB1上的定時(shí)器的時(shí)鐘源就是 36M*2 ,也就是說定時(shí)器2、3、4的時(shí)鐘源也是72M
而APB2CLK相對(duì)于AHBCLk分頻系數(shù)為1,則倍頻器x1 時(shí)鐘應(yīng)該為72M*1,也就是定時(shí)器1、8的時(shí)鐘源為72M
-------------------------------------------------------------------
上面主要解釋了掛在不同頻率的時(shí)鐘線APBx上的定時(shí)器在計(jì)算的時(shí)鐘,時(shí)鐘源還是一樣的 都是72M
當(dāng)然,如果APB1CLK的時(shí)鐘分頻不是2,而是4 也就是 APB1CLK為18M的時(shí)候,這個(gè)時(shí)鐘定時(shí)器2、3、4的時(shí)鐘應(yīng)該是18M*2 = 36M