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

歷史上的今天

今天是:2025年07月09日(星期三)

2018年07月09日 | 關(guān)于STM32中GPIO的8種工作模式

發(fā)布者:HarmonyInLife 來(lái)源: eefocus關(guān)鍵字:STM32  GPIO  工作模式 手機(jī)看文章 掃描二維碼
隨時(shí)隨地手機(jī)看文章

1 綜述


I/O口是單片機(jī)中非常常用的外設(shè),STM32的I/O口有8種狀態(tài),雖然一直在使用過(guò)程中沒(méi)有遇到什么問(wèn)題,但是一直都不是很清楚,因此這里做一個(gè)總結(jié)(實(shí)際上這里的概念也是和STM8等其他單片機(jī),理解了這8中狀態(tài),也就基本上理解了大部分I/O口)。


2 廬山真面目


我們?cè)趲?kù)文件中的"stm32f10x_gpio.h"中可以看到如下代碼:



typedefenum

{

    GPIO_Mode_AIN = 0x0,

    GPIO_Mode_IN_FLOATING = 0x04,

    GPIO_Mode_IPD = 0x28,

    GPIO_Mode_IPU = 0x48,

    GPIO_Mode_Out_OD = 0x14,

    GPIO_Mode_Out_PP = 0x10,

    GPIO_Mode_AF_OD = 0x1C,

    GPIO_Mode_AF_PP = 0x18

}GPIOMode_TypeDef;



上面因?yàn)槭怯⑽模簧跚逦?,下面下面翻譯一下:



typedefenum

{

    GPIO_Mode_AIN = 0x0,           /* 模擬輸入 */

    GPIO_Mode_IN_FLOATING = 0x04,  /* 浮空輸入,復(fù)位后的狀態(tài) */

    GPIO_Mode_IPD = 0x28,          /* 下拉輸入,這里的下拉是指單片機(jī)內(nèi)部的電阻 */

    GPIO_Mode_IPU = 0x48,          /* 上拉輸入,這里的上拉是指單片機(jī)內(nèi)部的電阻 */

    GPIO_Mode_Out_OD = 0x14,       /* 開(kāi)漏輸出 */

    GPIO_Mode_Out_PP = 0x10,       /* 推挽輸出 */

    GPIO_Mode_AF_OD = 0x1C,        /* 復(fù)用開(kāi)漏輸出 */

    GPIO_Mode_AF_PP = 0x18         /* 復(fù)用推挽輸出 */

}GPIOMode_TypeDef;


在芯片資料中我們可以看到,I/O口的基本結(jié)構(gòu)如下(5V兼容I/O位的基本結(jié)構(gòu)圖省略):


由于我們使用函數(shù)庫(kù)開(kāi)發(fā),因此本文就不再接掃具體的位操作了。


3 分別介紹



3.1 模擬輸入(Analog input)


顧名思義,就是這個(gè)I/O口(input/output口)當(dāng)作input使用,并且是模擬輸入。模擬輸入狀態(tài)下用來(lái)接受模擬量(電壓值),一般用于AD采集。


3.2 浮空輸入(Floating input)


也叫懸浮輸入,一般把浮空輸入和上拉輸入做類(lèi)比學(xué)習(xí)。上拉輸入的時(shí)候,引腳內(nèi)部有一個(gè)上拉電阻通過(guò)開(kāi)關(guān)連接到電源VDD,當(dāng)引腳沒(méi)有和外部電路連接時(shí),設(shè)置上拉輸入方式的I/O引腳電平是確定的高電平(相同的,下拉輸入就是確定的低電平)。而浮空輸入則不同,它的電瓶水hi不確定的,即使外部的一個(gè)很小的輸入信號(hào)都會(huì)使其發(fā)生改變。如果引腳設(shè)置為懸空的情況下,讀取該端口的電平是不確定的。


3.3 下拉輸入(Input down)


顧名思義,很好理解,可以參見(jiàn)3.2 浮空輸入。


3.4 上拉輸入(Input up)


顧名思義,很好理解,可以參見(jiàn)3.2 浮空輸入。


3.5 開(kāi)漏輸出(Open Collector Output)


輸出端相當(dāng)于三極管的集電極,要得到高電平狀態(tài)需要上拉電阻才行。適合于做電流型的驅(qū)動(dòng),其吸收電流的能力相對(duì)強(qiáng)(一般20mA以內(nèi))。開(kāi)漏形式的電路有以下幾個(gè)特點(diǎn):

1、利用外部電路的驅(qū)動(dòng)能力,減少I(mǎi)C內(nèi)部的驅(qū)動(dòng)。當(dāng)IC內(nèi)部MOSFET導(dǎo)通時(shí),驅(qū)動(dòng)電流是從外部的VCC流經(jīng)上拉電阻、MOSFET到GND。IC內(nèi)部?jī)H需很小的柵極驅(qū)動(dòng)電流。

2、一般來(lái)說(shuō),開(kāi)漏是用來(lái)連接不同電平的器件,匹配電平用的,因?yàn)殚_(kāi)漏引腳不連接外部的上拉電阻時(shí),只能輸出低電平,如果需要同時(shí)具備輸出高電平的功能,則需要接上拉電阻,很好的一個(gè)優(yōu)點(diǎn)是通過(guò)改變上拉電源的電壓,便可以改變傳輸電平。比如加上上拉電阻就可以提供TTL/CMOS電平輸出等。(上拉電阻的阻值決定了邏輯電平轉(zhuǎn)換的速度。阻值越大,速度越低功耗越小,所以負(fù)載電阻的選擇要兼顧功耗和速度。)

3、開(kāi)漏輸出提供了靈活的輸出方式,但是也有其弱點(diǎn),就是帶來(lái)上升沿的延時(shí)。因?yàn)樯仙厥峭ㄟ^(guò)外接上拉無(wú)源電阻對(duì)負(fù)載充電,所以當(dāng)電阻選擇小時(shí)延時(shí)就小,但功耗大;反之延時(shí)大功耗小。所以如果對(duì)延時(shí)有要求,則建議用下降沿輸出。

4、可以將多個(gè)開(kāi)漏輸出連接到一條線上。通過(guò)一只上拉電阻,在不增加任何器件的情況下,形成"與邏輯"關(guān)系,即"線與"??梢院?jiǎn)單的理解為:在所有引腳連在一起時(shí),外接一上拉電阻,如果有一個(gè)引腳輸出為邏輯0,相當(dāng)于接地,與之并聯(lián)的回路"相當(dāng)于被一根導(dǎo)線短路",所以外電路邏輯電平便為0,只有都為高電平時(shí),與的結(jié)果才為邏輯1。

開(kāi)漏輸出就是不輸出電壓,低電平時(shí)接地,高電平時(shí)不接地。如果外接上拉電阻,則在輸出高電平時(shí)電壓會(huì)拉到上拉電阻的電源電壓。這種方式適合在連接的外設(shè)電壓比單片機(jī)電壓低的時(shí)候。輸出端出跟集電極開(kāi)路十分相似,工作原理也是一樣的。不同的是,開(kāi)漏輸出使用的場(chǎng)效應(yīng)管,使用時(shí)要加上拉電阻。(挺繞的,有機(jī)會(huì)用具體工程來(lái)介紹)


3.6 推挽輸出(Push-Pull Output)


推挽輸出可以輸出高、低電平,連接數(shù)字器件;推挽結(jié)構(gòu)一般是指兩個(gè)三極管分別受兩個(gè)互補(bǔ)信號(hào)的控制,總是在一個(gè)三極管導(dǎo)通的時(shí)候另一個(gè)截止。高低電平由IC的電源決定。

推挽電路是兩個(gè)參數(shù)相同的三極管或MOSFET,以推挽方式存在于電路中,各負(fù)責(zé)正負(fù)半周的波形放大任務(wù),電路工作時(shí),兩只對(duì)稱(chēng)的功率開(kāi)關(guān)管每次只有一個(gè)導(dǎo)通,所以導(dǎo)通損耗小、效率高。輸出既可以向負(fù)載灌電流,也可以從負(fù)載抽取電流。推拉式輸出級(jí)既提高電路的負(fù)載能力,又提高開(kāi)關(guān)速度。

關(guān)于推挽輸出和開(kāi)漏輸出,用一幅最簡(jiǎn)單的圖形來(lái)概括:該圖中左邊的便是推挽輸出模式,其中比較器輸出高電平時(shí)下面的PNP三極管截止,而上面NPN三極管導(dǎo)通,輸出電平VS+;當(dāng)比較器輸出低電平時(shí)則恰恰相反,PNP三極管導(dǎo)通,輸出和地相連,為低電平。右邊的則可以理解為開(kāi)漏輸出形式,需要接上拉。


3.7 復(fù)用開(kāi)漏輸出


可以理解為GPIO口被用作第二功能時(shí)的配置情況(即并非作為通用IO口使用)。


3.8 復(fù)用推挽輸出


與復(fù)用開(kāi)漏輸出一樣,可以理解為GPIO口被用作第二功能時(shí)的配置情況(即并非作為通用IO口使用)。


4 使用場(chǎng)景總結(jié)


1、浮空輸入GPIO_IN_FLOATING ——浮空輸入,可以做KEY識(shí)別,RX1。

2、帶上拉輸入GPIO_IPU——IO內(nèi)部上拉電阻輸入,有時(shí)也用作KEY是些。

3、帶下拉輸入GPIO_IPD—— IO內(nèi)部下拉電阻輸入,有時(shí)也用作KEY是些。

4、模擬輸入GPIO_AIN ——應(yīng)用ADC模擬輸入,或者低功耗下省電。

5、開(kāi)漏輸出GPIO_OUT_OD ——IO輸出0接GND,IO輸出1,懸空,需要外接上拉電阻,才能實(shí)現(xiàn)輸出高電平。當(dāng)輸出為1時(shí),IO口的狀態(tài)由上拉電阻拉高電平,但由于是開(kāi)漏輸出模式,這樣IO口也就可以由外部電路改變?yōu)榈碗娖交虿蛔儭?梢宰xIO輸入電平變化,實(shí)現(xiàn)C51的IO雙向功能。

6、推挽輸出GPIO_Mode_Out_PP ——IO輸出0-接GND, IO輸出1 -接VCC,讀輸入值是未知的。用的最多了。

使用SPI芯片等的時(shí)候,片選引腳就是該模式。

7、復(fù)用功能的推挽輸出GPIO_AF_PP ——片內(nèi)外設(shè)功能(I2C的SCL,SDA)

8、復(fù)用功能的開(kāi)漏輸出GPIO_AF_OD——片內(nèi)外設(shè)功能(TX1,MOSI,MISO.SCK.SS)

在使用SPI芯片的時(shí)候,SCK MISO MOSI管教就是該模式


5 STM32項(xiàng)目實(shí)例


1、作為普通GPIO輸入:根據(jù)需要配置該引腳為浮空輸入、帶弱上拉輸入或帶弱下拉輸入,同時(shí)不要使能該引腳對(duì)應(yīng)的所有復(fù)用功能模塊。

2、作為普通GPIO輸出:根據(jù)需要配置該引腳為推挽輸出或開(kāi)漏輸出,同時(shí)不要使能該引腳對(duì)應(yīng)的所有復(fù)用功能模塊。

3、作為普通模擬輸入:配置該引腳為模擬輸入模式,同時(shí)不要使能該引腳對(duì)應(yīng)的所有復(fù)用功能模塊。

4、作為內(nèi)置外設(shè)的輸入:根據(jù)需要配置該引腳為浮空輸入、帶弱上拉輸入或帶弱下拉輸入,同時(shí)使能該引腳對(duì)應(yīng)的某個(gè)復(fù)用功能模塊。

5、作為內(nèi)置外設(shè)的輸出:根據(jù)需要配置該引腳為復(fù)用推挽輸出或復(fù)用開(kāi)漏輸出,同時(shí)使能該引腳對(duì)應(yīng)的所有復(fù)用功能模塊。

注意如果有多個(gè)復(fù)用功能模塊對(duì)應(yīng)同一個(gè)引腳,只能使能其中之一,其它模塊保持非使能狀態(tài)。比如要使用STM32F103VBT6的47、48腳的USART3功能,則需要配置47腳為復(fù)用推挽輸出或復(fù)用開(kāi)漏輸出,配置48腳為某種輸入模式,同時(shí)使能USART3并保持I2C2的非使能狀態(tài)。如果要使用STM32F103VBT6的47腳作為T(mén)IM2_CH3,則需要對(duì)TIM2進(jìn)行重映射,然后再按復(fù)用功能的方式配置對(duì)應(yīng)引腳。


關(guān)鍵字:STM32  GPIO  工作模式 引用地址:關(guān)于STM32中GPIO的8種工作模式

上一篇:使用STM32GPIO讀取按鍵實(shí)現(xiàn)按鍵操作
下一篇:STM32 GPIO使用超強(qiáng)總結(jié)

推薦閱讀

?美國(guó)周五(7月6日)開(kāi)始向中國(guó)價(jià)值340億美元的產(chǎn)品征收25%關(guān)稅,兩個(gè)世界最大經(jīng)濟(jì)體之間的貿(mào)易戰(zhàn)正式打響。?? ???? 美中開(kāi)啟“史上最大貿(mào)易戰(zhàn)” 權(quán)威解析?? ???? 中國(guó)商務(wù)部稱(chēng),美國(guó)“發(fā)動(dòng)了迄今為止經(jīng)濟(jì)史上規(guī)模最大的貿(mào)易戰(zhàn)”。美國(guó)東部時(shí)間6日凌晨12點(diǎn)01分,美國(guó)關(guān)稅清單生效。中國(guó)以向美國(guó)340億美元商品加征25%的關(guān)稅進(jìn)行回?fù)簟?...
近年來(lái),國(guó)網(wǎng)湖北省電力有限公司多方面拓展綜合能源業(yè)務(wù),建設(shè)省級(jí)綜合能源服務(wù)展示廳,推進(jìn)長(zhǎng)江湖北段岸電建設(shè),通過(guò)綜合能效服務(wù)、冷熱電多能服務(wù)、分布式能源服務(wù)、電動(dòng)汽車(chē)充電服務(wù)、市場(chǎng)化售電等業(yè)務(wù)增供擴(kuò)銷(xiāo)。 “上月月底,我們與武漢生物制品研究所綜合能源項(xiàng)目達(dá)成協(xié)議,合同金額預(yù)計(jì)達(dá)到6200萬(wàn)元,將新增高效磁懸浮變頻冷水機(jī)組、燃?xì)庹羝?..
據(jù)外媒報(bào)道,為了加速向自動(dòng)駕駛過(guò)渡,日本公司東芝(Toshiba)宣布推出高分辨率、遠(yuǎn)程光接收技術(shù),可用于固態(tài)激光雷達(dá)系統(tǒng)。通過(guò)去除笨重的機(jī)械部件,該技術(shù)節(jié)約了成本和空間,還提高了激光雷達(dá)系統(tǒng)的操作可靠性,而該技術(shù)的核心就是東芝專(zhuān)有的緊湊型高效硅光電倍增器(SiPM)。(圖片來(lái)源:東芝)總體而言,由于SiPM對(duì)光高度敏感,因而適用于遠(yuǎn)距離測(cè)量...
為了更好地監(jiān)測(cè)電子電路行業(yè)運(yùn)營(yíng)態(tài)勢(shì),研判產(chǎn)業(yè)發(fā)展趨勢(shì),推動(dòng)電子電路行業(yè)高質(zhì)量發(fā)展,中國(guó)電子電路行業(yè)協(xié)會(huì)(CPCA)于2001年起正式啟動(dòng)電子電路行業(yè)統(tǒng)計(jì)調(diào)研工作,每年發(fā)布中國(guó)電子電路行業(yè)排行榜和年度產(chǎn)業(yè)發(fā)展報(bào)告,至今已連續(xù)開(kāi)展20年。近日,由中國(guó)電子電路行業(yè)協(xié)會(huì)和中國(guó)電子信息行業(yè)聯(lián)合會(huì)聯(lián)合發(fā)布的第二十屆(2020)中國(guó)電子電路行業(yè)排行榜正式揭榜...

史海拾趣

小廣播
設(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