×
单片机 > 单片机程序设计 > 详情

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

发布时间:2020-06-19 发布时间:
|
        STM32的系统时钟来源可分为三个:HSI(高速内部时钟)、HSE(高速外部时钟)、PLL

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

        在设置系统时钟时,要先重置下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的总线频率了。

关键字:STM32  学习笔记  系统时钟 

『本文转载自网络,版权归原作者所有,如有侵权请联系删除』

热门文章 更多
如何升级STM32单片机的代码