stm32f407定時器時鐘頻率的問題

2021-07-25 23:36:57 字數 1214 閱讀 7630

從時鐘樹中我們可以得知(時鐘樹的可以直接參考

6樓,感謝6樓

xkwy

補上的圖):

(1)高階定時器timer1, timer8以及通用定時器timer9, timer10, timer11的時鐘**是apb2匯流排

(2)通用定時器timer2~timer5,通用定時器timer12~timer14以及基本定時器timer6,timer7的時鐘**是apb1匯流排

從stm32f4

的內部時鐘樹可知,當

apb1

和apb2

分頻數為

1的時候,

tim1

、tim8~tim11

的時鐘為

apb2

的時鐘,

tim2~tim7

、tim12~tim14

的時鐘為

apb1

的時鐘;而如果

apb1

和apb2

分頻數不為

1,那麼

tim1

、tim8~tim11

的時鐘為

apb2

的時鐘的兩倍,

tim2~tim7

、tim12~tim14

的時鐘為

apb1

的時鐘的兩倍。

因為系統初始化

systeminit

函式裡初始化

apb1

匯流排時鐘為

4分頻即

42m,

apb2

匯流排時鐘為

2分頻即

84m,所以

tim1

、tim8~tim11

的時鐘為

apb2

時鐘的兩倍即

168m

,tim2~tim7

、tim12~tim14

的時鐘為

apb1

的時鐘的兩倍即

84m。

知道定時器的時鐘源頻率我們用定時器做延時就很方便了,只要設定合適的分頻係數即可,附一下用中斷實現延時的公式:(摘自原子的

stm32f4

開發指南)

tout = ((arr+1)*(psc+1))/tclk;

公式中psc

就是分頻係數,

arr就是計數值,達到這個計數就會發生溢位中斷,

tclk

就是我上述分析的時鐘源頻率的倒數。

STM32F407時鐘樹結構

stm32f407基於cortex m4核心架構,具備完善的時鐘樹結構。了解時鐘樹的結構有助於程式的編寫和優化。下列配置圖來自軟體stm32cubemx,從配置圖可以看出stm32f407所有時鐘源,包括外部輸入hse和lse,以及內部rc時鐘hsi和lsi。對於高速時鐘,採用外部8mhz晶振作為時...

STM32F407VG (五)定時器

一 定時器節本分類和主要特點 1.stm32定時器分類 1 看門狗定時器 2 systick定時器 3 rtc定時器 4 通用定時器 a 通用定時器tim2 tim5,當中tim2和tim5是32位,tim3和tim4是16位 具有四個獨立通道 中斷 dma事件 支援增量編碼器和霍爾感測器 b 通用...

基於stm32f407建立stm32F427工程

分為三個部分 1.啟動檔案 2.fwilib 包含兩個資料夾inc和src。src裡面是stm32資源的c檔案,inc則是32資源的h檔案 3.user這也是我不太理解的部分 ddbugconfig只包含了用於debug的初始化,則是f4的系統檔案。我是在f407的基礎上改的 總的來說 1.改了晶元...