有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 2512 //#define PLL_N 33613 /* The following para N/M = 42, 14 The above para N/M = 13.44 15 25 MHz / 8 MHz = 3.12516 13.44*3.125 = 4217 So, make sure N/M = 42 can make 168 MHz18 */19 #define PLL_M 520 #define PLL_N 210