STM32F407的时钟配置

有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

原文地址:https://www.cnblogs.com/yanhc/p/9978554.html