1. 程式人生 > >STM32時鐘,外部16M設定

STM32時鐘,外部16M設定

一般的時鐘設定是外部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_41xxx) || 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  

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