有3种时钟,
HSI,High Speed Internal,默认是这个
HSE,High Speed External,用外置晶振,官方开发板默认晶振为25MHz,stm32f4xx.h中有定义HSE_VALUE为25MHz,启明为8MHz
PLL,内部锁相环,可以有输出,输入可以为HSI或HSE。
一般都用HSE作为外部输入,然后HSE输入给PLL进行倍频,PLL输出给系统时钟。
system_stm32f4xx.c文件中有SystemCoreClockUpdate,该函数可以更新系统时钟全局变量SystemCoreClock。
1 /* Redefine HSE_VALUE to 8MHz 2 QiMing board osc = 8 MHz, 3 Official board osc = 24 MHz 4 */ 5 #undef HSE_VALUE 6 #define HSE_VALUE ((uint32_t)8000000) /*!< Value of the External oscillator in Hz */ 7 8 9 /************************* PLL Parameters *************************************/ 10 /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLL_M) * PLL_N */ 11 //#define PLL_M 25 12 //#define PLL_N 336 13 /* The following para N/M = 42, 14 The above para N/M = 13.44 15 25 MHz / 8 MHz = 3.125 16 13.44*3.125 = 42 17 So, make sure N/M = 42 can make 168 MHz 18 */ 19 #define PLL_M 5 20 #define PLL_N 210