STM32時鐘,外部16M設定

2021-07-11 10:44:58 字數 816 閱讀 3869

一般的時鐘設定是外部8m的時鐘,但是當設定為外部16m的時候,需要配置如下:

(1)stm32f103xx的晶元,在stm32f10x.h庫中修改大概119行的hse_value 為16000000(自帶的是8000000),然後在system_stm32f10x.c中設定,大概在1054行,位於setsysclockto72(void)函式中,新增2分頻(rcc_cfgr_pllxtpre_hse_div2|),然後在1056處新增同樣的句子(rcc_cfgr_pllxtpre_hse_div2|),編譯就可以了。

(2)stm32f40xx的晶元,在stm32f4xx.h庫中修改大概122行的修改為16m如下

#if !defined  (hse_value) 

#define hse_value    ((uint32_t)16000000) /*!< value of the external oscillator in hz *///×ô¼º°å×ó8m

#endif /* hse_value */

然後在system_stm32f4xx.c中的大概316行處修改pll_m  16

#if defined (stm32f40_41***) || defined (stm32f427_437xx) || defined (stm32f429_439xx) || defined (stm32f401xx)

/* pll_vco = (hse_value or hsi_value / pll_m) * pll_n */   //¸ü¸ä×ô¼ºµä16m  //pll_m =8

#define pll_m      16  

這裡就完成了時鐘的配置。

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...