新闻中心

EEPW首页>嵌入式系统>设计应用> STM32学习笔记(一)----系统时钟

STM32学习笔记(一)----系统时钟

作者: 时间:2016-11-26 来源:网络 收藏
STM32系统时钟来源可分为三个:HSI(高速内部时钟)、HSE(高速外部时钟)、PLL

(经PLL倍频后的时钟信号)。

本文引用地址://m.amcfsurvey.com/article/201611/321611.htm

在设置系统时钟时,要先重置下RCC->CR 及 RCC->CFGR 寄存器,具体可参照STM32

的官方库,里面每个步骤都有详细说明的。下面大概地说一下关于系统时钟选择的设置:

1)以HSI作为系统时钟来源:RCC->CFGR[1:0] SW=00

-----------------------------------------------------------------------------------------------------------------------------------

2))以HSE作为系统时钟来源:RCC->CFGR[1:0] SW=01

-----------------------------------------------------------------------------------------------------------------------------------

3)以PLL作为系统时钟来源:(分三种时钟信号输入)

A、以HSI 2分频作为PLL时钟输入:RCC->CFGR[1:0] SW=10

RCC->CFGR[16] PLLSRC=0

-----------------------------------------------------------------------------------------------------------------------------------

B、以HSE 全速作为PLL时钟输入:RCC->CFGR[1:0] SW=10

RCC->CFGR[16] PLLSRC=1

RCC->CFGR[17] PLLXTPRE=0

-----------------------------------------------------------------------------------------------------------------------------------

C、以HSE 全速作为PLL时钟输入:RCC->CFGR[1:0] SW=10

RCC->CFGR[16] PLLSRC=1

RCC->CFGR[17] PLLXTPRE=1

经过以上设置,基本上是设置完了系统时钟的来源,如果设置了是以PLL为系统时钟来

源,则要再通过 RCC->CFGR[21:18] PLLMUL 来选择PLL的倍频系数。设置好之后,就是

ENABLE PLL了:RCC->CR[24] PLLON,至此,系统时钟来源就设置并启动好了,通过读取

RCC->CFGR[3:2]来确认时钟来源是否已生效。(这一步最好在程序中要加上,以免出现系统

时钟未生效而不能正常启动的问题)

系统时钟启动完后,就可以来设置STM32内设(比如:APB1/APB2/ADC/TIM1……)

RCC->CFGR的总线频率了。



评论


技术专区

关闭