11、SystemInit函数解读

1、系统时钟初始化函数:SystemInit();

使用库函数的时候,在系统启动之后会自动调用

2、首先如果使用外部时钟源HSE,要配置外部晶振频率:stm32f4xx.h

3、初始化之前首先通过宏定义定义下面变量来定义系统时钟频率:

#define PLL_M 8
#define PLL_Q 7
#define PLL_N 336
#define PLL_P 2

PLL=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

你可能感兴趣的:(单片机充电记录,单片机,嵌入式硬件)