寒假学习之STM32(2)----时钟

时钟的相关

PS:这个章节初次接触也是一头雾水,我打算先整理一下思路,在逐渐的写一些相关文章来进行完善,目前的主要工作和目的是为了先学会配置stm32

时钟应该算是stm32的心脏,每一次进行寄存器配置之前,总是要先配置一遍时钟,比如在配置GPIO口的时候,步骤为:
配置时钟->在GPIO_Init_TypeDef 的结构体中配置相关元素->GPIO_Init()进行初始化
GPIO的配置
而在配置GPIO时钟的时候,我们使用的是RCC_APB2PeriphCLockCmd(GPIOx,ENABLE);

使用这个函数的原因参见下图:
STM32的总体架构

由总体的架构图中可以看出,STM32大致有五个重要的时钟
1. SYSCLK(系统时钟)
2. AHB(总线时钟)
3. APB1(低速总线时钟)
4. APB2(高速总线时钟)
5. PLL( 锁相环倍频输出,最大为72MHz,可以影响系统时钟 )

而这五大时钟,由五个重要的时钟源来影响:
1. HSI : 高速内部时钟,8MHz 由内部RC电路产生,精度捉急
2. HSE : 高速外部时钟,由时钟源或者外部晶振产生,频率大概在4MHz~16MHz
3. LSI : 低速内部时钟,40kHz,基本上供给于看门狗
4. LSE : 低速外部时钟,串接外部32.768kHz的晶振
5. PLL : 锁相环倍频输出,最大为72MHz,可以影响系统时钟

这么多时钟的配置主要是在我们工程的stm32f10x_rcc.c的文件中这里写图片描述

承接上一篇博客,还是以APB2PeriphClockCmd为例,上一篇的代码中配置的过成为:

RCC_APB2PeriphClockCmd(RCC_APB2Periph_GPIOA|RCC_APB2Periph_GPIOE, ENABLE );//实际上可以使用 | 运算来同时配置多个GPIO口

而这个函数的入口参数我们也可以在 stm32f10x_rcc.c 这个文件中找到,如图:
这里写图片描述

借助RCC_APB2PeriphClockCmd()这个函数,我们再推广一下,看看其他时钟的使能函数:

这里写图片描述

先了解这么多,以后用到的时候再深入

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值