一般的时钟设置是外部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
这里就完成了时钟的配置。