當(dāng)前位置:首頁 > 嵌入式 > 嵌入式硬件
[導(dǎo)讀]1.STM32實物圖:2.STM32引腳分布圖:STM32F103ZET6:共144個引腳,7組IO口,每組16個IO口7*16=112個IO口(這7組IO口分別為A,B…G)例如:PGIOA包含PA0,PA1,PA2…PA15,每組16個IO口 

1.STM32實物圖:

2.STM32引腳分布圖:

STM32F103ZET6:共144個引腳,7組IO口,每組16個IO口

7*16=112個IO口(這7組IO口分別為A,B…G)

例如:PGIOA包含PA0,PA1,PA2…PA15,每組16個IO口

  二,IO口的基本結(jié)構(gòu)和工作方式

1.STM32F1系列IO口的基本結(jié)構(gòu)()IO口內(nèi)部電路結(jié)構(gòu))

右側(cè)I/O引腳部分為芯片暴露在外部的引腳

每個引腳在數(shù)據(jù)手冊都有說明是否支持(識別))5V電壓

三,PGIO的8種工作方式

4種輸入模式

輸入浮空

輸入上拉

輸入下拉

模擬輸入

4種輸出模式

開漏輸出

開漏復(fù)用功能

推挽輸出

推挽復(fù)用功能

可配置3種最大翻轉(zhuǎn)速度

2MHz

10MHz

50MHz

四,八種工作方式講解

1,GPIO輸入工作模式1-輸入浮空模式

1)外部通過IO口輸入電平,外部電平通過上下拉部分(浮空模式下都關(guān)閉,既無上拉也無下拉電阻)

2)傳輸?shù)绞┟芴赜|發(fā)器(此時施密特觸發(fā)器為打開狀態(tài))

3)繼續(xù)傳輸?shù)捷斎霐?shù)據(jù)IDR

4)CPU通過讀輸入數(shù)據(jù)IDR實現(xiàn)讀取外部輸入電平值

在輸入浮空模式下可以讀取外部輸入電平

2,GPIO輸入工作模式2-輸入上拉模式

和輸入浮空模式相比較,不同之處在于內(nèi)部有一個上拉電阻連接到VDD(輸入上拉模式下,上拉電阻開關(guān)接通,阻值約30-50K)

外部輸入通過上拉電阻,施密特觸發(fā)器存入輸入數(shù)據(jù)IDR,被CPU讀取

3,GPIO輸入工作模式3-輸入下拉模式

和輸入浮空模式相比較,不同之處在于內(nèi)部有一個下拉電阻連接到VSS(輸入下拉模式下,下拉電阻開關(guān)接通,阻值約30-50K)

外部輸入通過下拉電阻,施密特觸發(fā)器存入輸入數(shù)據(jù)寄存器IDR,被CPU讀取

4,GPIO輸入工作模式4-輸入模擬模式

上拉和下拉部分均為關(guān)閉狀態(tài)(AD轉(zhuǎn)換-模擬量轉(zhuǎn)換為數(shù)字量)

施密特觸發(fā)器為截止?fàn)顟B(tài)

通過模擬輸入通道輸入到CPU

IO口外部電壓為模擬量(電壓形式非電平形式),作為模擬輸入范圍一般為0~3.3V

5,GPIO輸出工作模式1-開漏輸出模式

1,CPU寫入位設(shè)置/清楚寄存器BSRR,映射到輸出數(shù)據(jù)寄存器ODR

2,聯(lián)通到輸出控制電路(也就是ODR的電平)

3,ODR電平通過輸出控制電路進入N-MOS管

-ODR輸出1:

N-MOS截止,IO端口電平不會由ODR輸出決定,而由外部上拉/下拉決定

在輸出狀態(tài)下,輸出的電平可以被讀取,數(shù)據(jù)存入輸入數(shù)據(jù)寄存器,由CPU讀取,實現(xiàn)CPU讀取輸出電平

所以,當(dāng)N-MOS截止時,如果讀取到輸出電平為1,不一定是我們輸出的1,有可能是外部上拉產(chǎn)生的1

-ODR輸出0:

N-MOS開啟,IO端口電平被N-MOS管拉倒VSS,使IO輸出低電平

此時輸出的低電平同樣可以被CPU讀取到

6,GPIO輸出工作模式2-開漏復(fù)用輸出模式

與開漏輸出模式唯一的區(qū)別在于輸出控制電路之前電平的來源

開漏輸出模式的輸出電平是由CPU寫入輸出數(shù)據(jù)寄存器控制的

開漏推挽輸出模式的輸出電平是由復(fù)用功能外設(shè)輸出決定的

其他與開漏輸出模式相似:

控制電路輸出為1:N-MOS截止,IO口電平由外部上拉/下拉決定

控制電路輸出為0:N-MOS開啟,IO口輸出低電平

7,GPIO輸出工作模式3-推挽輸出模式

與開漏輸出相比較:

輸出控制寄存器部分相同

輸出驅(qū)動器部分加入了P-MOS管部分

當(dāng)輸出控制電路輸出1時:

P-MOS管導(dǎo)通N-MOS管截止,被上拉到高電平,IO口輸出為高電平1

當(dāng)輸出控制電路輸出0時:

P-MOS管截止N-MOS管導(dǎo)通,被下拉到低電平,IO口輸出為低電平0

同時IO口輸出的電平可以通過輸入電路讀取

8,GPIO輸出工作模式4-復(fù)用推挽輸出模式

與推挽輸出模式唯一的區(qū)別在于輸出控制電路之前電平的來源

開漏輸出模式的輸出電平是由CPU寫入輸出數(shù)據(jù)寄存器控制的

開漏推挽輸出模式的輸出電平是由復(fù)用功能外設(shè)輸出決定的

9,推挽輸出和開漏輸出的區(qū)別:

推挽輸出:

可以輸出強高/強低電平,可以連接數(shù)字器件

開漏輸出:

只能輸出強低電平(高電平需要依靠外部上拉電子拉高),適合做電流型驅(qū)動,吸收電流能力較強(20ma之內(nèi))

五,STM32-IO口相關(guān)寄存器

每組GPIO包含系列7個寄存器(7組GPIO共包含7*7=49個寄存器)

兩個32位配置寄存器

GPIOx_CRL低16位

GPIOx_CRH高16位

兩個32位數(shù)據(jù)寄存器

GPIOx_IDR輸入數(shù)據(jù)寄存器

GPIOx_ODR輸出數(shù)據(jù)寄存器

一個32位置位/復(fù)位寄存器

GPIOx_BSRR

一個16位復(fù)位寄存器

GPIOx_BRR

一個32位鎖定寄存器

GPIOx_LCKR

六,STM32-IO口相關(guān)寄存器講解

1,端口配置寄存器:

STM32每組GPIO位16個IO口,每4位控制一個IO口,所以32位控制8個IO口

分為低16位:GPIOx_CRL和高16位:GPIOx_CRH共32位控制一組GPIO的16個IO口

如圖:以端口配置寄存器低16位為例,每四位控制一個IO口(高16位同理)

MODEx的2位:配置IO口輸出/輸出模式(1種輸出+3種不同速度的輸出模式)

CNFx的2位:配置IO口輸入/輸出狀態(tài)下(由MODEx控制)的輸入/輸出模式

以GPIOA_CRL為例,配置IO口PA0->MODE0=00(輸入模式)CNF0=10(上拉/下拉輸入模式)

此種配置下到底是上拉還是下拉輸入模式還需由ODR寄存器決定

關(guān)于上拉/下拉的控制我們將在下面-數(shù)據(jù)寄存器-中介紹ODR輸出寄存器時詳細(xì)說明

2,數(shù)據(jù)寄存器(以輸入數(shù)據(jù)寄存器GPIOx_IDR為例)

每一組IO口都具有一個GPIOx_IDR的32位寄存器(實際只使用低16位,高16位保留),即16位控制16個IO口,每一位控制一個

如圖:IDR寄存器共32位,0~15位代表一組IO口16個IO當(dāng)前值

這里我們已經(jīng)了解了輸入/輸出數(shù)據(jù)寄存器,現(xiàn)在說下上面提到的問題:

當(dāng)IO口配置為輸入模式且配置為上拉/下拉輸入模式(即MODEx=00CNFx=10時),ODR決定到底是上拉還是下拉

1)當(dāng)輸出模式時,ODR為輸出數(shù)據(jù)寄存器

2)當(dāng)輸入模式時,ODR用作區(qū)分當(dāng)前位輸入模式到底是上拉輸入(ODRx=0)還是下拉輸入(ODRx=1)

3,端口位設(shè)置/清除寄存器(GPIOx_BSRR)

BSRR寄存器作用:

BSRR寄存器為32位寄存器,低16位BSx為設(shè)置為(1設(shè)置0不變),高16位BRx為重置位(1:清除0:不變)

當(dāng)然,最終的目的還是通過BSRR間接設(shè)置ODR寄存器,改變IO口電平

4,端口位清除寄存器(GPIOx_BRR)

GPIOx_BRR寄存器作用同GPIOx_BSRR寄存器高16位

一般我們使用BSRR低16位和BRR的低16位(STM32F4系列取消了BSRR的高16位)

5,鎖存寄存器:使用較少暫不分析

七,端口的復(fù)用和重映射

1,端口的復(fù)用:

大部分IO口可復(fù)用為外部功能引腳,參考芯片數(shù)據(jù)手冊(IO口復(fù)用和重映射)

例如:STM32F103ZET6的PA9和PA10引腳可復(fù)用為串口發(fā)送和接收功能引腳,也可復(fù)用為定時器1的通道2和通道3

端口復(fù)用的作用:最大限度的利用端口資源

2,端口的重映射:

串口1默認(rèn)引腳是PA9,PA10可以通過配置重映射映射到PB6,PB7

端口重映射的作用:方便布線

3,STM32所有的IO口都可作為中斷輸入(51單片機只有2個端口可以作為外部中斷輸入)

0次

本站聲明: 本文章由作者或相關(guān)機構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內(nèi)容真實性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫毥谦F公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險,如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅持高質(zhì)量發(fā)展策略,塑強核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運營商 數(shù)字經(jīng)濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術(shù)學(xué)會聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(shù)(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉