1、系统时钟初始化函数:SystemInit();
使用库函数的时候,在系统启动之后会自动调用
2、首先如果使用外部时钟源HSE,要配置外部晶振频率:stm32f4xx.h
3、初始化之前首先通过宏定义定义下面变量来定义系统时钟频率:
#define PLL_M 8
#define PLL_Q 7
#define PLL_N 336
#define PLL_P 2PLL=8MHz*N/(M*P)=8MHz*336/(8*2)=168MHz
4、初始化之后的状态:
SYSCLK(系统时钟)=168MHz
AHB总线时钟(HCLK=SYSCLK)=168MHz
APB1总线时钟(PCLK1=SYSCLK/4)=42MHz
APB2总线时钟(PCLK2=SYSCLK/2)=84MHz
PLL主时钟=168MHz
5、初始化之后可以通过变量SystemCoreClock获取系统变量。如果SYSCLK=168MHz,那么变量SystemCoreClock=168000000