stm32學習筆記(一)時鐘

2021-07-23 03:20:50 字數 725 閱讀 8308

初學stm32,寫個筆記,便於總結和記憶,就醬。

時鐘配置是每個程式都需要的部分

通常寫成以下的形式

1.初始化rcc

2.使能hse(hse的精度比hsi要高,一般所用到的時鐘頻率都是從hse裡分頻出來的,當hse故障時stm32會自動的轉到hsi,具體參考datasheet)

3.等待hse穩定後,進行後續的配置(由於hse 的**一般是外部晶振之類的)

4.使能flash預讀快取,設定flash延遲週期(不屬於時鐘部分,但是一般會放在這裡,具體原因尚不明確

5.預設hclk   pclk2   plck1 (還有其他的一些時鐘,這裡只舉了最通用的

6. 配置pll

7.等待pll穩定後,作為sysclk的輸入源

8.按需配置(使能)需要的時鐘比如 rcc_apb2periphclockcmd   rcc_apb1periphclockcmd  等等

模板大致如下:

void rcc_configuration(void)

rcc_sysclkconfig(rcc_sysclksource_pllclk);

while(rcc_getsysclksource() != 0x08)

}rcc_apb2periphclockcmd(u32 rcc_apb2periph, functionalstate newstate);

} 時鐘的配置並不難,只要看懂了datasheet上的時鐘樹就能理解了

STM32時鐘配置

大家都知道在使用微控制器時,時鐘速度決定於外部晶振或內部rc振盪電路的頻率,是不可以改變的。而arm的出現打破了這一傳統的法則,可以通過軟體隨意改變時鐘速度。這一出現讓我們的設計更加靈活,但是也給我們的設計增加了複雜性。為了讓使用者能夠更簡單的使用這一功能,stm32的庫函式已經為我們設計的更加簡單...

STM32時鐘系統

下面我們根據這張圖說說有關stm32時鐘系統的那些事 io uint32 t cr hsi,hse,css,pll等的使能和就緒標誌位 io uint32 t cfgr pll等的時鐘源選擇,分頻係數設定 io uint32 t ahbenr dma,sdio等時鐘使能 io uint32 t ap...

stm32時鐘分割

不太明白 1 tim perscaler來設定預分頻係數 2 tim clockdivision來設定時鐘分割 時鐘分頻因子 3 tim countermode來設定計數器模式 時鐘分割定義的是在定時器時鐘頻率 ck int 與數字濾波器 etr,tix 使用的取樣頻率之間的分頻比例。tim clo...