菜鸟stm32学习笔记(1)系统时钟初始化函数

系统初始化函数步骤:

1:复位并配置寄存器向量表。

2:置位CR第十六位,开启外部振荡器。

3:检测CR第十七位,判断外部振荡器是否准备就绪。若就绪,硬件会置位十七位。

*2和3设置的均是时钟控制寄存器。

4:设置时钟配置寄存器CFGR的8-10位为100使得APB1的时钟频率低于36MHZ。因为连接APB1的外设要求APB1的时钟频率低于36MHZ,否则会导致器件不稳定。

5:(PLL<锁相环>:实现外部的输入信号与内部的振荡信号同步)设置PLL倍频系数,因从2开始,此处需将想设置的倍频数减去2。将CFGR的【21:18】设置为上述数值。

6:设置CFGR的第十六位为1,使得HSE作为PLL的输入时钟。

7:设置CR的第二十四位1,使能PLL。

8:检测CR第二十五位是否为1,进而判断PLL是否准备就绪;若就绪,硬件置位CR【25】

9:设置CFGR【1:0】为10,使得PLL为系统时钟。

10:检测CFGR【3:2】是否为10,判断PLL作为系统时钟是否设置成功;若成功,硬件置位【3:2】。

你可能感兴趣的:(菜鸟stm32学习笔记(1)系统时钟初始化函数)