日韩一区二区三区精品,欧美疯狂xxxxbbbb牲交,热99re久久免费视精品频,人妻互换 综合,欧美激情肉欲高潮视频

今天分享以下兩點(diǎn)內(nèi)容:

1.為什么我們要先開(kāi)啟STM32外設(shè)模塊時(shí)鐘;


2.關(guān)于STM32的 I/O 復(fù)用功能及什么時(shí)候開(kāi)啟AFIO時(shí)鐘;


1為什么我們要先開(kāi)啟STM32外設(shè)時(shí)鐘

講述本節(jié)內(nèi)容之前先說(shuō)一個(gè)案例:

前段時(shí)間,有一個(gè)朋友為配置EXTI的代碼折騰了一天,最終沒(méi)有結(jié)果。于是問(wèn)了我這樣一個(gè)問(wèn)題:“你用過(guò)STM32F051C8T6的外部中斷嗎,就是GPIO管腳做中斷,我這邊就是進(jìn)不了中斷”。


然后他把基于標(biāo)準(zhǔn)外設(shè)庫(kù)、寄存器寫(xiě)的代碼都給我發(fā)過(guò)來(lái)了。我仔細(xì)看了又看,沒(méi)發(fā)現(xiàn)有什么毛病啊。(但是,代碼是截圖分來(lái)給我發(fā)過(guò)來(lái)的)。


于是,我將之前配置IO外部中斷的代碼,按照他(PB2)的要求,寫(xiě)成一個(gè)“EXTI配置”函數(shù)發(fā)給他,他直接拷貝過(guò)去,成功了。


于是,他仔細(xì)對(duì)比了代碼,終于發(fā)現(xiàn)了問(wèn)題的原因,配置的順序不對(duì),使能時(shí)鐘不是在最開(kāi)始。


我想許多朋友都曾遇到過(guò)這種坑,我最初學(xué)習(xí)STM32的時(shí)候同樣也遇到過(guò),下面我就來(lái)說(shuō)說(shuō)為什么我們要先開(kāi)啟STM32外設(shè)模塊時(shí)鐘,再對(duì)其外設(shè)模塊初始化配置?


1.系統(tǒng)架構(gòu)

不同類(lèi)型的STM32,它的系統(tǒng)架構(gòu)各有不同,但原理都類(lèi)似,由多條主控總線(xiàn)和多條被控總線(xiàn)組成(請(qǐng)參看【參考手冊(cè)】存儲(chǔ)器和總線(xiàn)架構(gòu)章節(jié))。


如STM32F4:

● 八條主控總線(xiàn):

— Cortex?-M4F 內(nèi)核 I 總線(xiàn)、 D 總線(xiàn)和 S 總線(xiàn)

— DMA1 存儲(chǔ)器總線(xiàn)

— DMA2 存儲(chǔ)器總線(xiàn)

— DMA2 外設(shè)總線(xiàn)

以太網(wǎng) DMA 總線(xiàn)

— USB OTG HS DMA 總線(xiàn)

● 七條被控總線(xiàn):

— 內(nèi)部 Flash ICode 總線(xiàn)

— 內(nèi)部 Flash DCode 總線(xiàn)

— 主要內(nèi)部 SRAM1 (112 KB)

— 輔助內(nèi)部 SRAM2 (16 KB)

— 輔助內(nèi)部 SRAM3 (64 KB)(僅適用于 STM32F42xxx 和 STM32F43xxx 器件)

— AHB1 外設(shè)(包括 AHB-APB 總線(xiàn)橋和 APB 外設(shè))

— AHB2 外設(shè)

— FSMC

圖片


借助總線(xiàn)矩陣,可以實(shí)現(xiàn)主控總線(xiàn)到被控總線(xiàn)的訪(fǎng)問(wèn),這樣即使在多個(gè)高速外設(shè)同時(shí)運(yùn)行期間,系統(tǒng)也可以實(shí)現(xiàn)并發(fā)訪(fǎng)問(wèn)和高效運(yùn)行。


2.關(guān)于AHB和APB總線(xiàn)

AHB:Advanced High-performance Bus,即先進(jìn)的高性能總線(xiàn).

APB:Advanced Peripheral Bus,即先進(jìn)的外圍(外設(shè))總線(xiàn).


上面說(shuō)了系統(tǒng)總線(xiàn)的架構(gòu)引伸出來(lái)的就是AHB和APB總線(xiàn),那為什么要講述AHB和APB總線(xiàn)呢?


我們操作的外圍設(shè)備一般都是位于AHB和APB總線(xiàn)上,而AHB可以引伸出AHB1、AHB2,甚至AHB3。同樣APB也存在APB1、APB2等。


如:USART1外設(shè)位于APB1總線(xiàn)上,GPIOA位于AHB1高速總線(xiàn)上。


請(qǐng)注意參考手冊(cè)中“AHB/APB 總線(xiàn)橋”這一小節(jié),有一條重要的內(nèi)容:每次芯片復(fù)位后,所有外設(shè)時(shí)鐘都被關(guān)閉( SRAM 和 Flash 接口除外)。使用外設(shè)前,必須在 RCC_AHBxENR 或 RCC_APBxENR 寄存器中使能其時(shí)鐘。


3.STM32時(shí)鐘控制

請(qǐng)參看STM32參考手冊(cè)關(guān)于【復(fù)位與時(shí)鐘控制RCC】章節(jié)。


STM32的時(shí)鐘控制模塊因MCU芯片不同,各有差異,但原理都類(lèi)似,功能也相當(dāng)豐富。主要的目的就是給相對(duì)獨(dú)立的外設(shè)模塊提供時(shí)鐘,也是為了降低整個(gè)芯片的功能。


低功耗是主要原因,還有一個(gè)原因,就是為了兼容不同速度的設(shè)備,有些高速,有些低速,如果都用高速時(shí)鐘,勢(shì)必造成浪費(fèi)。


RCC給外設(shè)提供時(shí)鐘是一個(gè)主要目的,那么為什么要提供時(shí)鐘呢? 原因在于外圍設(shè)備的寄存器需要時(shí)鐘才能工作。你可以把外設(shè)當(dāng)做一個(gè)設(shè)備,而這個(gè)設(shè)備需要給它提供電源(時(shí)鐘)才能工作。


你在STM32參考手冊(cè)的“RCC”章節(jié)可能會(huì)看到這么一句話(huà):當(dāng)外設(shè)時(shí)鐘沒(méi)有啟用時(shí),軟件不能讀出外設(shè)寄存器的數(shù)值,返回的數(shù)值始終是0x0。


4.總結(jié)

看到這里相信聰明的你其中已經(jīng)明白為什么我們要先開(kāi)啟STM32外設(shè)模塊時(shí)鐘,再配置其外設(shè)模塊了。


簡(jiǎn)單來(lái)說(shuō):操作外設(shè)是通過(guò)外設(shè)總線(xiàn)來(lái)實(shí)現(xiàn),只有外設(shè)總線(xiàn)有時(shí)鐘了才能操作外設(shè)。


坑:

A.先使能外設(shè)時(shí)鐘,再對(duì)其進(jìn)行配置

圖片


B.時(shí)鐘配置需對(duì)應(yīng)總線(xiàn)

圖片

這種基于標(biāo)準(zhǔn)外設(shè)庫(kù)的低級(jí)錯(cuò)誤,相信肯定有不少人遇到過(guò),希望提高警惕。


2關(guān)于STM32的I/O復(fù)用功能及什么時(shí)候開(kāi)啟AFIO時(shí)鐘

前面有朋友問(wèn):“什么時(shí)候開(kāi)啟AFIO時(shí)鐘”。寫(xiě)了上面章節(jié),就順便再講述一下關(guān)于STM32的I/O復(fù)用功能及什么時(shí)候開(kāi)啟AFIO時(shí)鐘。


1.什么是I/O 復(fù)用功能?

簡(jiǎn)單來(lái)說(shuō)就是把普通I/O用作其它的功能。如:將PA9引腳用作USART1的Tx引腳,那么我們就把這個(gè)Tx引腳稱(chēng)為PA9的復(fù)用功能。


打開(kāi)數(shù)據(jù)手冊(cè),會(huì)發(fā)現(xiàn)類(lèi)似如下的列表:


2.什么時(shí)候開(kāi)啟AFIO時(shí)鐘

為了優(yōu)化芯片引腳封裝的外設(shè)數(shù)目,可以把一些復(fù)用功能重新映射到其他引腳上。設(shè)置復(fù)用重映射和調(diào)試I/O配置寄存器實(shí)現(xiàn)引腳的重新映射。這時(shí),復(fù)用功能不再映射到它們的原始分配上,而是映射到“重定義功能”上(見(jiàn)上圖)。


這種將引腳重定義到其它引腳上的功能在幾乎所有STM32芯片中都有這個(gè)功能,但是實(shí)現(xiàn)的方法可能有所不同,其中STM32F1就是通過(guò)事件控制的方式將特定功能引腳連接到對(duì)應(yīng)PORT和PIN上。


簡(jiǎn)單來(lái)說(shuō),如果需要使用重定義功能,那么就需要開(kāi)啟AFIO時(shí)鐘。


最后,如果你覺(jué)得你的程序可能是因?yàn)闀r(shí)鐘配置的問(wèn)題,不妨上電第一步使能所有時(shí)鐘試試。


關(guān)鍵字:STM32  時(shí)鐘  配置 引用地址:關(guān)于STM32時(shí)鐘配置的那些坑

上一篇:基于STM32、FreeRTOS實(shí)現(xiàn)硬件看門(mén)狗+軟件看門(mén)狗監(jiān)測(cè)多任務(wù)的方法
下一篇:宏定義“中斷函數(shù)接口”的注意事項(xiàng)

推薦閱讀

據(jù)報(bào)道,蔚來(lái)汽車(chē)算的上是行業(yè)的黑馬,有人將他稱(chēng)為或有希望成為中國(guó)的特斯拉。近日蔚來(lái)汽車(chē)向外宣布了未來(lái)的發(fā)展計(jì)劃,將會(huì)以上海為起點(diǎn),以3年為時(shí)間將計(jì)劃建1100座換電站。蔚來(lái)在業(yè)界是一個(gè)不小的傳奇——上個(gè)月,高性能智能電動(dòng)7座SUV蔚來(lái)ES8正式上市,今后將采取按訂單生產(chǎn)零庫(kù)存模式。更早的時(shí)候,當(dāng)這輛汽車(chē)還停留在圖紙階段,騰訊、百度、京東、小...
華為1987年成立,總部位于深圳市龍崗區(qū),是一家世界領(lǐng)先的信息與通信技術(shù)解決方案供應(yīng)商,2013年超越世界第一電信設(shè)備商愛(ài)立信,并位居當(dāng)年《財(cái)富》500強(qiáng)315位,而如今華為更是發(fā)展這自己的人工智能。2012年,華為在香港設(shè)立諾亞方舟實(shí)驗(yàn)室,目的就是要研究新一代的通信、云計(jì)算、音頻視頻分析、數(shù)據(jù)挖掘、機(jī)器學(xué)習(xí)等。該實(shí)驗(yàn)室又被稱(chēng)為“2012實(shí)驗(yàn)室”,有...
如下代碼實(shí)現(xiàn)MSP430G2553單片機(jī)兩個(gè)led交替閃爍#include <msp430.h> /** * main.c */int main(void){ WDTCTL = WDTPW | WDTHOLD; // stop watchdog timer P1DIR|=BIT0+BIT6; P1OUT|=BIT0; while(1) { unsigned int i; i=50000; while(i--); P1OUT^=BIT0+BIT6; }}發(fā)現(xiàn)燈光顯示異常兩燈常亮。為什么呢?...
1月16日,2021中國(guó)半導(dǎo)體投資聯(lián)盟年會(huì)暨中國(guó)IC 風(fēng)云榜頒獎(jiǎng)典禮在北京舉辦。甬矽電子(寧波)股份有限公司(下稱(chēng)“甬矽電子”)榮獲2021中國(guó)IC風(fēng)云榜“年度IC獨(dú)角獸獎(jiǎng)”。甬矽電子常務(wù)副總經(jīng)理徐林華在獲獎(jiǎng)后接受集微網(wǎng)記者采訪(fǎng)時(shí)表示:“2020年不管是疫情還是中美貿(mào)易戰(zhàn)影響,對(duì)產(chǎn)業(yè)鏈的影響比較大。我們?cè)谥懈叨朔庋b領(lǐng)域,尤其是5G、AI、IoT等幾大類(lèi)封測(cè)...

史海拾趣

問(wèn)答坊 | AI 解惑

關(guān)于Vcc和Vdd的區(qū)別

一、解釋  VCC:C=circuit 表示電路的意思, 即接入電路的電壓;  VDD:D=device 表示器件的意思, 即器件內(nèi)部的工作電壓;  VSS:S=series 表示公共連接的意思,通常指電路公共接地端電壓。  二、說(shuō)明  1、對(duì)于數(shù)字電路來(lái)說(shuō),VCC是電路的 ...…

查看全部問(wèn)答∨

怎樣獲得進(jìn)程加載了哪些模塊(dll)?

怎樣獲得進(jìn)程加載了哪些模塊(dll)?有沒(méi)有相關(guān)的API或者例子程序? 請(qǐng)知道的朋友說(shuō)一下,非常緊急! 謝謝!…

查看全部問(wèn)答∨

大家好 求助

大家好 我是個(gè)菜鳥(niǎo) 最近在公司實(shí)習(xí) 老板要做些驅(qū)動(dòng) 我是以前一點(diǎn)都沒(méi)有接觸過(guò)WINCE 也不知道怎么入手 沒(méi)一點(diǎn)頭緒 何況也沒(méi)時(shí)間慢慢看書(shū)了 希望達(dá)人們給些意見(jiàn) 另外我用VS05+6.0R3 該裝的補(bǔ)丁都裝了  自己定制系統(tǒng) 為什么還會(huì)有1個(gè)錯(cuò)誤 ...…

查看全部問(wèn)答∨

菜鳥(niǎo)提問(wèn):注入轉(zhuǎn)換(injectedconversion)是指什么?

                                 這幾天看STM32手冊(cè),看到了injected conversion這個(gè)概念,不知道它的具體功能是什么,而injected conver ...…

查看全部問(wèn)答∨

uCos II 內(nèi)核結(jié)構(gòu)

內(nèi)核中主要包含以下的文件:   1.uCOS-II Source->source:(與處理器類(lèi)型無(wú)關(guān)的代碼) OS_CORE.C 系統(tǒng)初始化,開(kāi)啟多任務(wù)環(huán)境等的代碼 OS_CPU_C.C 多任務(wù)棧初始化等與處理器有關(guān)的代碼 OS_FLAG .C 事件標(biāo)志組 ...…

查看全部問(wèn)答∨

未定義操作是什么情況

最近自己訪(fǎng)問(wèn)論壇有些現(xiàn)象,不知道是我電腦問(wèn)題還是其他什么問(wèn)題,我用XP系統(tǒng)IE7的瀏覽器。 1. 夜里前些天登錄老困難了,半天頁(yè)面打不開(kāi),而且要刷新好幾次,但我訪(fǎng)問(wèn)其他網(wǎng)站倒挺快的。 2. 查看帖子或者發(fā)表帖子會(huì)出現(xiàn)“未定義操作”提示,比如 ...…

查看全部問(wèn)答∨

學(xué)習(xí)《DLP 微型投影業(yè)務(wù)及技術(shù)應(yīng)用介紹》第一課--學(xué)習(xí)心得

學(xué)習(xí)完第一課我認(rèn)識(shí)到DLP技術(shù)確實(shí)很震撼,從結(jié)構(gòu)上來(lái)說(shuō)是有微鏡陣列,微鏡陣列下集成了大約25萬(wàn)個(gè)鏡子,深究?jī)?nèi)部結(jié)構(gòu),其實(shí)是有CMOS存儲(chǔ)單元組成的,一個(gè)DLP芯片有數(shù)以萬(wàn)計(jì)的像素點(diǎn)。DLP其實(shí)是數(shù)字光學(xué)處理技術(shù),1987年由德州儀器發(fā)明,1996年德州 ...…

查看全部問(wèn)答∨

EEWORLD大學(xué)堂----為什么選擇TI藍(lán)牙

為什么選擇TI藍(lán)牙:https://training.eeworld.com.cn/course/393…

查看全部問(wèn)答∨
小廣播
設(shè)計(jì)資源 培訓(xùn) 開(kāi)發(fā)板 精華推薦

最新單片機(jī)文章

 
EEWorld訂閱號(hào)

 
EEWorld服務(wù)號(hào)

 
汽車(chē)開(kāi)發(fā)圈

 
機(jī)器人開(kāi)發(fā)圈

電子工程世界版權(quán)所有 京ICP證060456號(hào) 京ICP備10001474號(hào)-1 電信業(yè)務(wù)審批[2006]字第258號(hào)函 京公網(wǎng)安備 11010802033920號(hào) Copyright ? 2005-2025 EEWORLD.com.cn, Inc. All rights reserved