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的总线频率了。
声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/zhishi/jichu/257874.html