STM32f1学习笔记三 STM32时钟系统与StytemInit函数

3.1STM32F10xx时钟系统框图

在这里插入图片描述
时钟系统相关知识:

1. STM32有5个时钟源:HSI、HSE、LSI、LSE、PLL:

①HSI是高速内部时钟,RC振荡器,频率为8MHz,精度不高。
②HSE是高速外部时钟,可接石英/陶瓷谐振器,或者接外部时钟源,频率范围为4MHz~16MHz。
③LSI是低速内部时钟,RC振荡器,频率为40KHz,提供低功耗时钟,可作独立看门狗时钟。
④LSE是低速外部时钟,接频率为32.768KHz的石英晶体。
⑤PLL为锁相环倍频输出,其时钟输入源可选择为HSI/2,HSE或者HSE/2。倍频可选择为2~16倍,但是其输出频率最大不得超过72MHz。

2. 系统时钟SYSCLK可来源于三个时钟源:
①HSI振荡器时钟
②HSE振荡器时钟
③PLL时钟

3. STM32可以选择一个时钟信号输出到MCO脚(PA8)上,可以选择为PLL输出的2分频、HSI、HSE、或者系统时钟。
4. 任何一个外设在使用前,必须首先使能其相应的时钟。 几个重要的时钟:
5. 几个重要时钟:

①SYSCLK(系统时钟)
②AHB总线时钟
③APB1总线时钟(低速):速度最高36MHz
④APB2总线时钟(高速):速度最高72MHz
⑤PLL时钟

3.2SystemInit函数

使用V3.5版本的库函数,在系统启动启动之后会自动调用系统初始化函数SystemInit();
在这里插入图片描述
初始化之前首先通过宏定义定义系统系统时钟频率:
#define SYSCLK_FREQ_72MHz 72000000
初始化之后的状态:
SYSCLK 72MHz
AHB 72MHz
PCLK1 36MHz
PCLK2 72MHz
PLL 72MHz

初始化之后可以通过变量SystemCoreClock获取系统变量。如果SYSCLK 72MHz,那么变量SystemCoreClock=72000000。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值