菜鸟stm32学习笔记(1)系统时钟初始化函数
2013-03-03 21:44
746 查看
系统初始化函数步骤:
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】。
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】。
相关文章推荐
- 关于系统时钟初始化函数“void Stm32_Clock_Init(u8 PLL)
- 系统时钟初始化函数与延时函数的实现(李想-第三讲)
- 伙伴系统在Linux2.6.34版本中 初始化的函数调用关系
- STM32菜鸟之初始化函数以及延时函数
- STM32在系统时钟为72M下的几个延时函数—V3.5库
- x210v3开发板u-boot-2012.10移植之六---系统时钟初始化
- S3C6410系统时钟初始化
- uc/os iii(一) 系统时钟及其中断服务函数
- LPC1788系统时钟初始化
- STM32 SYSTick系统时钟初始化
- STM32学习笔记(3):系统时钟和SysTick定时器
- 【裸机开发笔记】6410的系统时钟设置(下)---几个常用函数的C源码。
- 【裸机开发笔记】6410的系统时钟设置(下)---几个常用函数的C源码。
- STM32值系统时钟初始化程序设计
- modelsim使用系统函数初始化指令存储器
- stm32固件库学习之:建立模板和初始化系统时钟
- 第六章:STM32时钟初始化函数SystemInit()详解
- STM32F30X时钟初始化为HSI 64Mhz,并使用PLLCLK作为系统时钟
- STM32时钟初始化函数SystemInit()详解【转】
- stm8s 时钟库函数选择内部RC初始化