STM32時鐘,外部16M設定
阿新 • • 發佈:2019-02-09
一般的時鐘設定是外部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
這裡就完成了時鐘的配置。