日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

stm32之RCC寄存器学习

發布時間:2024/1/17 编程问答 50 豆豆
生活随笔 收集整理的這篇文章主要介紹了 stm32之RCC寄存器学习 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

RCC(Reset Clock Controller) —— 復位與時鐘控制

一、復位

STM32F10xxx支持三種復位形式,分別為系統復位、上電復位和備份區域復位。?

系統復位:除了時鐘控制器的RCC_CSR寄存器中的復位標志位和備份區域中的寄存器以外,系統
復位將復位所有寄存器至它們的復位狀態。

電源復位:將復位除了備份區域外的所有寄存器。 ?

備份區域復位:備份區域擁有兩個專門的復位,它們只影響備份區域。

?

?

二、時鐘

有四種時鐘:高速外部時鐘信號(HSE)——?HSE外部晶體/陶瓷諧振器 、HSE用戶外部時鐘

      高速內部時鐘信號(HSI)——?由內部8MHzRC振蕩器產生

      低速外部時鐘信號(LSE)——?32.768kHz的低速外部晶體或陶瓷諧振器

      低速內部時鐘信號(LSI)——?LSI時鐘頻率大約40kHz(30kHz60kHz之間)

時鐘的輸出:微控制器允許輸出時鐘信號到外部MCO引腳。 可以時鐘配置寄存器來選擇輸出的時鐘。

?

其中:

PLLMUL?用于設置 STM32 PLLCLKSTM32 支持 2~16 倍頻設置。我們常用
的是 8M 外部晶振+9 倍頻設置,剛好得到 72Mhz PLLCLK

SW STM32 SYSCLK(系統時鐘)切換開關,從上圖可以看出, SYSCLK
來源可以是 3個:HSIPLLCLKHSE

CSS是時鐘安全系統,可以通過軟件被激活。一旦其被激活,時鐘監測器將在HSE振蕩器啟動延遲后被
使能,并在HSE時鐘關閉后關閉 。

三、時鐘啟動過程

1、開機或復位時使用內部時鐘
2、用軟件進行切換,嘗試開啟外部時鐘
3、如果開啟成功,則使用外部時鐘,否則使用內部

四、配置時鐘的步驟

1、APB1、APB2的外設接口復位結束(即RESET),關閉APB1、APB2的外設時鐘?

  打開內部8MHz振蕩器,復位RCC->CFGR中的SW[1:0]、HPRE[3:0]、PRE1[2:0]、PRE2[2:0]、ADCPRE[2:0]、MCO[2:0]

  復位RCC->CR中的HSEON、CSSON、PLLON、HSEBYP

  復位RCC->CFGR中的PLLSRC、PLLXTPRE、PLLMUL[3:0]USBPRE

  關閉RCC->CIR中的所有中斷

2、使能外部高速時鐘晶振HSE

3、等待外部高速時鐘晶振工作穩定

4、設置AHB時鐘的預分頻(在這之前要先執行FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); FLASH_SetLatency(FLASH))

5、設置APB1時鐘的預分頻

6、設置APB2時鐘的預分頻

7、設置PLL的時鐘源以及PLL的倍頻數,然后使能PLL

8、等待PLL工作穩定

9、選擇SYSCLK的時鐘源

10、判斷PLL是否是系統時鐘(若選擇SYSCLK的時鐘源是PLL的話)

11、打開要使用的外設時鐘

?

五、代碼

void RCC_Init(void) {RCC->APB1RSTR = 0x00000000; //APB1、APB2復位結束RCC->APB2RSTR = 0x00000000;RCC->AHBENR = 0x00000014; //睡眠模式時閃存和 SRAM 時鐘使能,其他關閉(其實可以注釋掉,因為AHBENR復位的值就是該值)RCC->APB1ENR = 0x00000000; //關閉APB1、APB2的外設時鐘RCC->APB2ENR = 0x00000000; RCC->CR |= 0x00000001; //使能內部時鐘HSIRCC->CFGR &= 0xF8FF0000; //復位RCC->CFGR中的SW[1:0],HPRE[3:0],PRE1[2:0],PRE2[2:0],ADCPRE[2:0],MCO[2:0]RCC->CR &= 0xFEF2FFFF; //復位HSEON、CSSON、PLLON、HSEBYPRCC->CFGR &= 0xFF80FFFF; //復位RCC->CFGR中的PLLSRC,PLLXTPRE,PLLMUL[3:0],USBPRERCC->CIR &= 0x00000000; //關閉所有中斷[12:0] RCC->CR |= (1<<16); //使能HSEwhile(!(RCC->CR & (1<<17))); //等待HSE穩定 FLASH_PrefetchBufferCmd(FLASH_PrefetchBuffer_Enable); // 預取指緩存使能FLASH_SetLatency(FLASH_Latency_2); //FLASH_Latency_2 2延時周期 RCC->CFGR |= 0x00000400; //AHB不分頻,APB1二分頻,APB2不分頻RCC->CFGR |= 0x001D0000; //配置PLL:HSE為輸入時鐘,HSE不分頻,9倍頻輸出RCC->CR |= (1<<24); //使能PLLwhile(!(RCC->CR & (1<<25))); //等待PLL鎖定 RCC->CFGR |= 0x00000002; //選擇PLL輸出作為SYSCLKwhile(!(RCC->CFGR & (2<<2))); //等待 PLL 作為系統時鐘設置成功//下面就是打開所要用的外設時鐘(RCC_AHBENR、RCC_APB1ENR、RCC_APB2ENR) }

?

仿真結果為:

轉載于:https://www.cnblogs.com/Recca/p/7786967.html

總結

以上是生活随笔為你收集整理的stm32之RCC寄存器学习的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。

主站蜘蛛池模板: 久久久久久久久久影院 | 亚洲涩涩涩| 狠狠干2018| 国产精品老牛影院99av | 亚洲少妇15p| 亚洲国产综合av | 米奇狠狠干 | 美足av | 想要视频在线观看 | 青草视频在线播放 | av一区二区免费 | 久久国产精品综合 | 宅男av| 手机在线免费看av | 韩国三级在线播放 | 欧美αv| 中国丰满老太hd | 人人草在线 | 裸体一区二区 | 久久久精品在线 | 国产精品理论在线观看 | 激情欧美网站 | 久久人人爽人人爽人人av | 国产视频一区二区在线 | wwwxxx日本| 秋霞啪啪片 | 国产不卡网 | 特大黑人巨交吊性xxxx视频 | 亚洲精品电影 | 午夜国产福利视频 | 国产人成一区二区三区影院 | 国产国语亲子伦亲子 | 国产精品一区二区三区不卡 | 亚洲AV成人无码精品久久盆瓶 | 日本熟女毛茸茸 | 国产精品99久久久久久宅男 | 这里只有精品在线播放 | 欧美精品免费一区二区三区 | 国产福利合集 | 日本午夜精华 | 国产色片在线观看 | 女久久| 久久久久久久麻豆 | 激情欧美综合 | 97在线免费视频 | 中文在线观看免费视频 | 中文字幕日本在线观看 | www.色呦呦| 又黄又湿的网站 | 一级在线看 | 综合亚洲网| 亚洲国产专区 | 国产午夜免费视频 | 男女国产视频 | 青青草免费观看视频 | 亚洲无套 | 国产乱码在线 | 无人在线观看高清视频 单曲 | 99久久人妻无码中文字幕系列 | 日日夜夜狠| 欧美精品一区二区三区视频 | 日美韩av | 亚洲欧美激情另类校园 | 亚洲一区二区三区在线观看视频 | 日韩国产精品一区 | 成人午夜视频在线免费观看 | 成年人视频在线免费看 | 国产不卡一 | 亚洲国产成人精品91久久久 | 欧美日韩一区二区久久 | 国产黄色精品网站 | 人妻体体内射精一区二区 | 精品国产视频一区二区 | 天堂中文在线官网 | 国产精品久久国产 | 海角社区在线视频播放观看 | 欧美黄色一级大片 | 波多野结衣av在线免费观看 | 久久96视频 | 东京热无码av一区二区 | 欧美野外猛男的大粗鳮 | 免费av一区二区三区 | 四虎精品成人免费网站 | 国产成人高清视频 | 久久午夜无码鲁丝片 | 黑帮大佬和我的三百六十五天 | 中文字幕在线二区 | 性综合网 | 鸭子av| 国产高清精品软件丝瓜软件 | 中文字幕在线欧美 | 在线观看日本视频 | 天天摸天天操天天干 | 已满18岁免费观看电视连续剧 | caoporn免费在线视频 | 欧美挤奶吃奶水xxxxx | 成人在线一区二区 | 亚洲第一天堂影院 | av网站免费大全 |