前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >stm32时钟配置简介

stm32时钟配置简介

作者头像
飞哥
发布2020-07-10 10:19:16
1.3K0
发布2020-07-10 10:19:16
举报
文章被收录于专栏:电子技术研习社

时钟是单片机非常重要的一部分,它为单片机的系统或是外设提供了时序。这里主要来讲解一下stm32的时钟配置。

一、时钟树

要了解stm32的时钟结构,必须从时钟树开始。这是官方给出的RCC框图。

从图中可以看出,stm32的时钟信号来源有4个,外部高速时钟HSE,外部低速时钟LSE,内部高速时钟HSI,内部低速时钟LSI。一般情况下,选用HSE作为系统正常工作的时钟信号,HSE通常采用8MHz的无源晶振,因为它频率高且稳定,不容易发生温漂。

二、时钟介绍

PLL时钟源可以有两个:一个是HSE,另一个是HSI二分频,HSI是内部高速的时钟信号,频率为8MHz,根据温度和环境的情况会发生漂移,一般不作为PLL的时钟来源。这里直接选择HSE作为PLL的时钟来源。

1、PLLCLK

PLLCLK是PLL的时钟来源倍频之后的信号。倍频因子可以是2~16,如果选用8MHz的HSE,经9倍频之后就是72MHZ,这是官方推荐的稳定运行的时钟,如果想超频,可以增大倍频因子,但是超频会导致系统不稳定,所以一般情况下不建议超频。

1、系统时钟SYSCLK

系统时钟的来源可以是HSI,PLLCLK,HSE

2、AHB总线时钟HCLK

系统时钟SYSCLK经过AHB预分频器分频之后得到的时钟叫做HCLK,至于AHB总线上的外设的时钟设置为多少,得等到使用该外设的时候才设置。

3、APB2总线时钟PCLK2

APB2总线时钟PCLK2有HCLK经过高速APB2预分频器得到,PCLK2属于高速的总线时钟,片上高速的外设就挂载到这条总线上,如GPIO、USART1、SPI1等。

4、APB1总线时钟PCLK1

APB1总线时钟PCLK1由HCLK经过低速AHB预分频器得到,属于低速的总线时钟,最高为36MHZ。

还有一些其他的时钟,比如USB时钟,ADC时钟,RTC时钟等等,基本上是在前面的时钟的基础上经过分频得到,当需要使用的时候再进行配置,否则使用默认的即可。所以不多说,只要参考前面的时钟树就能了解清楚。

三、配置

接下来使用库函数对前面的内容进行配置。主要是完成对PLLCLK、SYSCLK、HCLK、PCLK2

、PCLK1的配置

void RCC_HSE_Config(u32 div,u32 pllm)//自定义系统时钟配置函数

{

RCC_DeInit();//设置为缺省值(即默认值)

RCC_HSEConfig(RCC_HSE_ON);//开启晶振

while(RCC_WaitForHSEStartUp()!=SUCCESS);//等待晶振起振

RCC_PLLConfig(div,pllm);//设置锁相环的时钟来源及倍频系数

RCC_HCLKConfig(RCC_SYSCLK_Div1);//设置HCLK的分频因子

RCC_PCLK1Config(RCC_HCLK_Div2);//设置PCLK1为二分频

RCC_PCLK2Config(RCC_HCLK_Div2);

RCC_PLLCmd(ENABLE);//使能PLL

while(RCC_GetFlagStatus(RCC_FLAG_PLLRDY)==RESET);//等待PLL就绪

RCC_SYSCLKConfig(RCC_SYSCLKSource_PLLCLK);//设置系统时钟来源

while(RCC_GetSYSCLKSource()!=0x08);//等待系统时钟设置完毕

}

调用这个函数即可实现对系统时钟的配置。其中第一个输入参数为锁相环的时钟来源(前面讲到可以有三个来源),第二个输入参数为锁相环的倍频系数。

总结:利用库函数可以比较方便的对系统时钟进行配置,主要是搞清楚各个模块它的时钟来源是什么,然后经过多少分频可以达到要求(同时注意不能超过它限定的频率)即可。如果要再对各个外设的时钟进行配置,那么首先要清楚各个外设是挂在哪条总线上的,再进行相应配置。

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2020-01-16,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 电子技术研习社 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档