25m的外部時鐘(hse)經過分頻因子m
變為1m(此處m為25,m必須與外部晶振的時鐘頻率相同,即經過m分頻之後,時鐘頻率須為1m),再經過倍頻因子n
變為336m(如果想超頻使用,就修改n),成為vco時鐘,再經過分頻因子p
(一般配置成2),出來的到168m的pllclk,即鎖相環時鐘,pllclk經過開關sw會被選為sysclk,即系統時鐘。
hse是高速的外部時鐘訊號,可以由有源晶振或者無源晶振提供,頻率從 4-26mhz 不等。
所有的外設被掛載到ahb,apb2,apb1這三條匯流排上,這三條匯流排的時鐘在系統啟動時會先初始化好,ahb為是高速匯流排,由sysclk經過分頻因子得到,一般為1分頻,即ahb時鐘為168m。apb2和apb1是低速時鐘,它們由ahb分頻而來,apb2為2分頻,(apb2最高為84m),apb1為4分頻(apb1最高為42m)。
以上這些都是在system_stm32f4xx.c檔案中的**setsysclock()**函式中配置的。
配置hse使用rcc_cr暫存器,
配置pll使用rcc_pllcfgr暫存器,
配置sysclk使用rcc_cfgr
1.[野火embedfire]《stm32庫開發實戰指南——基於野火霸天虎開發板》
2.《1-stm32f4xx中文參考手冊》
關於RCC的配置
在除錯模式下由軟體置1或清零來旁路外部晶體振盪器。只有在外部1 25mhz振盪器關閉的情況下,該位才可以寫入。0xx 沒有時鐘輸出 100 系統時鐘輸出 101 內部8mhz的rc振盪器時鐘輸出 110 外部1 25mhz振盪器時鐘輸出 111 pll時鐘2分頻後輸出 0xx hclk不分頻 100...
RCC 使用HSE配置系統時鐘
晶元提供時鐘就要有時鐘樹 時鐘樹在參考手冊rcc章節開頭就有 這裡的時鐘樹看到感覺眼睛打了馬賽克,小弟截圖技術有限 晶振 晶體振盪器,用於各種電路中產生振盪頻率,每個微控制器裡都會有晶振,給微控制器提供時鐘頻率,振盪得越快,時鐘頻率就越高,微控制器執行的速度就越快 時鐘是由晶振提供的,首先要找到時鐘...
STM32RCC配置注意事項
1 選用無源晶振必須要搭配諧振電容,有源晶振從osc in進入,osc out懸空。2 usb otg fs 必須使用 48m,在使用 usb 的時候,pllclk 被降低到了 168m,不能使用 180m,這實乃 st 的乙個奇葩設計。有關 pll 的配置有乙個專門的rcc pll 配置暫存器 r...