STM32笔记11---时钟系统

11.1、时钟系统框图讲解

11.2、时钟配置相关函数讲解

参考资料:《STM32F1开发指南(精英版)》HAL库版本---4.3小节,时钟系统

6.2小节,时钟(这一节主要是讲解时钟配置的相关寄存器)

11.1、时钟系统框图讲解

(图中梯形代表选择器)

在上图中,蓝色方块代表STM32的时钟源,这些时钟源,既包括系统时钟的,也包括外设时钟的。所谓系统时钟,是最重要的时钟,因为其他外设的时钟最终都是来源于系统时钟。

HSI时钟源:高速内部时钟源,据图可知,其频率约为8MHz,(该时钟源由内部RC振荡器产生,频率不够稳定,在一些较为严密的系统,一般不使用RC振荡器作为时钟源。)

HSE时钟源:高速外部时钟源,正点原子的开发板上该时钟源可接4~16MHz的晶振(已接的是8MHz的晶振)在上图中,HSE经过的第一个选择器说明,HSE既可以直接作为选择器1的输入,也可以2分频后再作为选择器1的输入。同时系统时钟也可以选择HSE的2分频作为系统时钟的时钟源。

PLL锁相环:用于倍频,将接收的频率乘以设置好的常系数(*2~*16共十六种倍频系数)。经过PLL倍频后的时钟,可以用作系统时钟的时钟源。

CSS:时钟监控系统,在实际的开发中,系统时钟多使用HSE外部高速时钟源,为防止HSE的外部问题导致系统时钟失效,CSS就会实时监控HSE,一旦发现HSE出现问题,会优先将系统时钟的时钟源切换为HSI。

LSE:外部低速时钟源,一般用于给RTC实时时钟提供时钟源

LSI:低速内部时钟,由内部RC振荡器产生。也可以作为RTC时钟供源,但是其主要功能是给独立看门狗时钟提供时钟源

MCO:输出内部时钟的一个引脚,(PA8)输出的时钟可以来源于:系统时钟、HSI、HSE、以及2分频PLL。

USBCLK:usb时钟去,来源于PLL产生的时钟经过1分频(即不变)或者1.5分频后产生的时钟信号

PS:为什么调用IO口前都需要使能时钟,使能时钟的意义在于:一旦使能时钟,就相当于这个串口被打开,可以使用(实现这一功能的时钟位于APB2总线上,即APB2总线时钟)这样的设计意义在于,可以关闭不需要使用的串口,减少功耗和负载。

总结:

 

11.2、RCC相关配置寄存器(具体方法可参考STM32中文参考手册)

typedef struct
{
  __IO uint32_t CR;         //HSI、HSE、CSS、PLL等的使能和就绪标志位
  __IO uint32_t CFGR;       //PLL等时钟源选择,分频系数设定
  __IO uint32_t CIR;
  __IO uint32_t APB2RSTR;
  __IO uint32_t APB1RSTR;
  __IO uint32_t AHBENR;     //DMA、SDIO等时钟使能
  __IO uint32_t APB2ENR;    //APB2总线上的外设时钟使能
  __IO uint32_t APB1ENR;    //APB1总线上的外设时钟使能
  __IO uint32_t BDCR;
  __IO uint32_t CSR;
} RCC_TypeDef;

            

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值