從時鐘樹中我們可以得知(時鐘樹的可以直接參考
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.改了晶元...