我家門前有兩棵樹,一棵是棗樹,另一棵也是棗樹。 ——魯迅
你是否總在感嘆人生苦短光陰易逝,你是否有着青春的年紀卻在路上被叫叔叔阿姨的無奈,你是否總覺得自己的時間海綿乾澀無比擠不出水。如果是,那麼你就需要加強時間管理,做時間永遠的主人。瞭解stm32時鐘的心,從這裏開始。
今天就來聊一聊掌握時間黑魔法的時鐘樹。
時鐘框圖
如果你看到這幅圖有一種想離開頁面的衝動,那麼,那麼,那麼我只能求你繼續看下去,卑微的我。
看到這幅圖的結構,是一個以黃色爲背景,其中鑲嵌有天空藍、牛油果綠、霧朦朧灰以及唯一的看起來就很新鮮的橘子橙這幾種色彩構成,間或有白色小方框與黑色指示線作爲點綴,加上紅黑說明文字就是這幅框圖的整體內容。
黃色背景——無實際工程意義,可能是個人偏好
藍色方框——時鐘源
stm32上有五個時鐘源
時鐘源 | 說明 | 來源 |
---|---|---|
HSI RC (high speed internal) | 內部高速時鐘 | RC振盪器,頻率爲8MHz,精度不高 |
HSE Osc (high speed external) | 外部高速時鐘 | 可接石英/陶瓷諧振器,或者接外部時鐘源,頻率範圍爲4MHz~16MHz |
LSE Osc (low speed external) | 外部低速時鐘 | 接頻率爲32.768kHz的石英晶體 |
LSI RC (low speed internal) | 內部低速時鐘 | RC振盪器,頻率爲40kHz,提供低功耗時鐘 |
PLL (鎖相環) | PLL時鐘 | HSI/2、HSE、HSE/2 |
綠色方框——分頻/倍頻器
- ÷2或者是÷120就是直接分頻
- prescaler——預分頻器(也就是分頻)
- multiplier——倍頻器
白色方框——輸入輸出端口
- osc_out、osc_in、osc32_out、osc32_in都爲外部晶振輸入輸出引腳。
- MOC:時鐘輸出引腳,可以選擇相應的時鐘源輸出對應的時鐘頻率。
灰色梯形——選擇器
從幾個來源中任選一個來源。
橙色方框——時鐘監視系統
系統時鐘使用HSE失效時,切換到使用HSI作爲系統時鐘來源。
OK,解釋到這裏你可能比較清楚了stm32時鐘框圖是怎麼樣的一個讀法,然後載堅持一下你就可以看到各種外設的時鐘配置是怎麼在框圖中體現的。
將這張圖從系統時鐘分開,分爲左右兩個部分,左邊大都爲時鐘源,右邊則是外設時鐘。
大致流程就是,系統時鐘選擇左邊的時鐘源,然後右邊的外設時鐘從系統時鐘進行分頻/倍頻之後得到外設的時鐘頻率。
需要注意的點有:
- 系統時鐘有三個來源
- F1系列單片機的最高時鐘頻率爲72MHz
- APB1總線最高爲36MHz,APB2最高爲72MHz
花點時間耐心的讀一下整個圖,定會有收穫。