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  

这里就完成了时钟的配置。


你可能感兴趣的:(STM32)