新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > STM32學(xué)習(xí)筆記(一)----系統(tǒng)時(shí)鐘

STM32學(xué)習(xí)筆記(一)----系統(tǒng)時(shí)鐘

作者: 時(shí)間:2016-11-26 來源:網(wǎng)絡(luò) 收藏
STM32系統(tǒng)時(shí)鐘來源可分為三個(gè):HSI(高速內(nèi)部時(shí)鐘)、HSE(高速外部時(shí)鐘)、PLL

(經(jīng)PLL倍頻后的時(shí)鐘信號(hào))。

本文引用地址:http://butianyuan.cn/article/201611/321611.htm

在設(shè)置系統(tǒng)時(shí)鐘時(shí),要先重置下RCC->CR 及 RCC->CFGR 寄存器,具體可參照STM32

的官方庫,里面每個(gè)步驟都有詳細(xì)說明的。下面大概地說一下關(guān)于系統(tǒng)時(shí)鐘選擇的設(shè)置:

1)以HSI作為系統(tǒng)時(shí)鐘來源:RCC->CFGR[1:0] SW=00

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

2))以HSE作為系統(tǒng)時(shí)鐘來源:RCC->CFGR[1:0] SW=01

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

3)以PLL作為系統(tǒng)時(shí)鐘來源:(分三種時(shí)鐘信號(hào)輸入)

A、以HSI 2分頻作為PLL時(shí)鐘輸入:RCC->CFGR[1:0] SW=10

RCC->CFGR[16] PLLSRC=0

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

B、以HSE 全速作為PLL時(shí)鐘輸入:RCC->CFGR[1:0] SW=10

RCC->CFGR[16] PLLSRC=1

RCC->CFGR[17] PLLXTPRE=0

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

C、以HSE 全速作為PLL時(shí)鐘輸入:RCC->CFGR[1:0] SW=10

RCC->CFGR[16] PLLSRC=1

RCC->CFGR[17] PLLXTPRE=1

經(jīng)過以上設(shè)置,基本上是設(shè)置完了系統(tǒng)時(shí)鐘的來源,如果設(shè)置了是以PLL為系統(tǒng)時(shí)鐘來

源,則要再通過 RCC->CFGR[21:18] PLLMUL 來選擇PLL的倍頻系數(shù)。設(shè)置好之后,就是

ENABLE PLL了:RCC->CR[24] PLLON,至此,系統(tǒng)時(shí)鐘來源就設(shè)置并啟動(dòng)好了,通過讀取

RCC->CFGR[3:2]來確認(rèn)時(shí)鐘來源是否已生效。(這一步最好在程序中要加上,以免出現(xiàn)系統(tǒng)

時(shí)鐘未生效而不能正常啟動(dòng)的問題)

系統(tǒng)時(shí)鐘啟動(dòng)完后,就可以來設(shè)置STM32內(nèi)設(shè)(比如:APB1/APB2/ADC/TIM1……)

RCC->CFGR的總線頻率了。



評(píng)論


技術(shù)專區(qū)

關(guān)閉