1. 程式人生 > >IAR下stm32使用12M外部晶振

IAR下stm32使用12M外部晶振

系統預設的是使用8M外部晶振,需修改三個地方: 
第一步,開啟stm32f10x.h,將

define HSE_VALUE ((uint32_t)8000000) /!< Value of the External oscillator in Hz /

修改為:

define HSE_VALUE ((uint32_t)12000000) /!< Value of the External oscillator in Hz /

第二步,開啟system_stm32f10x.c,修改PLL引數,將
/*  PLL configuration: PLLCLK = HSE * 9 = 72 MHz */
RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE |
                                    RCC_CFGR_PLLMULL));
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL9);

修改為: 
/* PLL configuration: PLLCLK = HSE * 6 = 72 MHz */ 
RCC->CFGR &= (uint32_t)((uint32_t)~(RCC_CFGR_PLLSRC | RCC_CFGR_PLLXTPRE | 
RCC_CFGR_PLLMULL)); 
RCC->CFGR |= (uint32_t)(RCC_CFGR_PLLSRC_HSE | RCC_CFGR_PLLMULL6); 

第三步,使用#define SYSCLK_FREQ_72MHz 72000000 
第四步,修改project option 
這裡寫圖片描述 
在Defined symbols中,新增HSE_VALUE=((uint32_t)12000000)