溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

STM32單片機(jī)I/O的工作模式有哪些

發(fā)布時(shí)間:2021-11-05 14:45:10 來源:億速云 閱讀:262 作者:iii 欄目:web開發(fā)

這篇文章主要講解了“STM32單片機(jī)I/O的工作模式有哪些”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“STM32單片機(jī)I/O的工作模式有哪些”吧!

先說說GPIO

在聊這8種工作模式之前,我想先說一下GPIO的概念—通用輸入輸出 General Purpose Input Output  簡(jiǎn)稱GPIO,就是芯片引腳可以通過它們輸出高、低電平,也可以通過他們輸入、讀取引腳的電壓、電平狀態(tài)。

下面的8種工作模式我將圍繞下圖進(jìn)行分析介紹,讀懂這一張圖大家基本就可以完全理解STM32的GPIO了。希望大家仔細(xì)的看一看。

STM32單片機(jī)I/O的工作模式有哪些

四種不同的輸出模式

推挽輸出:該模式下引腳可以輸出高低電平,可連接、驅(qū)動(dòng)數(shù)字器件。對(duì)于推挽有部分小伙伴可能不知道是啥意思,其實(shí)很簡(jiǎn)單,就是兩個(gè)參數(shù)相同的NPN、PNP三極管或者NMOS、PMOS管以推挽方式存在于電路中,各負(fù)責(zé)正負(fù)半周波形放大的任務(wù)。兩只對(duì)稱管每次只有一個(gè)導(dǎo)通,損耗小效率高,既可以提高電路的帶負(fù)載能力,又可以提高開關(guān)速度。電路如下圖所示,大家可以到IO內(nèi)部圖里面對(duì)比著找一找。

STM32單片機(jī)I/O的工作模式有哪些

開漏輸出:該模式下引腳就相當(dāng)于連接到了上圖NMOS的漏極,PMOS關(guān)閉去掉不存在。這時(shí)該引腳只能輸出低電平,不能輸出高電平,需要引腳加上拉電阻,才能得到高電平。這時(shí)一定有小伙伴疑惑,這東西沒有推挽輸出好用啊,錯(cuò)!開漏輸出是有一些特別的優(yōu)點(diǎn)的,比如:1、可用于連接與主控電平不匹配的器件,只需要將上拉電阻的上拉端連接到對(duì)方電平即可;2、以小博大,利用外部電路的驅(qū)動(dòng)能力,減小內(nèi)部電流,內(nèi)部只需要很小的柵極驅(qū)動(dòng)電流。缺點(diǎn)就是會(huì)有上升沿的延時(shí),因?yàn)橛猩侠娮璧脑?,這一點(diǎn)大家可以去閱讀一下我的上一篇關(guān)于電平匹配的文章,里面有介紹。

STM32單片機(jī)I/O的工作模式有哪些

復(fù)用推挽輸出、復(fù)用開漏輸出:顧名思義該模式下就是將引腳復(fù)用為其他功能,不再是簡(jiǎn)單的GPIO。像我們常用的UART、SPI等的輸出引腳就是復(fù)用的推挽輸出,而我們常用的I2C就是復(fù)用的開漏輸出,這時(shí)大家就應(yīng)該知道為什么我們?cè)谟肐2C的時(shí)候需要上拉電阻了吧。這里給大家埋個(gè)伏筆——用I2C時(shí)為什么要開漏呢?知道的小伙伴可以在留言區(qū)回復(fù),后面有機(jī)會(huì)分析I2C時(shí)我會(huì)詳細(xì)和大家來說。

四種不同的輸入模式

浮空輸入:這種輸入模式一般多用于檢測(cè)外部高低電平狀態(tài),比如按鍵等。大家結(jié)合下面的IO內(nèi)部圖來看,浮空輸入時(shí)上下拉電阻都沒有連接,引腳電平狀態(tài)不確定,如果引腳懸空時(shí)這種模式下讀出來的數(shù)據(jù)是沒意義的。

STM32單片機(jī)I/O的工作模式有哪些

上拉、下拉輸入:基本看名字大家就已經(jīng)知道這種模式是怎么回事了,上圖中如果上面紅圈電阻接入就是上拉輸入,下面紅圈電阻接入就是下拉輸入。上一段我說過按鍵輸入檢測(cè)用浮空輸入模式,如果用上拉、下拉模式就更簡(jiǎn)單了,就可以省掉外部的上下拉電阻節(jié)約項(xiàng)目成本。

模擬輸入:這個(gè)模式也是我們非常常用的了,那就是引腳設(shè)置為STM32內(nèi)部ADC的模擬信號(hào)輸入。值得注意的是這種模式就不是所有的IO都有的功能了,需要帶ADC的IO口才可以設(shè)置。

補(bǔ)充說明些東西

關(guān)于IO引腳內(nèi)部的兩個(gè)保護(hù)二極管,很久以前看到有人說是用來鉗位的,后來我在參加ST的研討會(huì)時(shí)問過官方,官方答復(fù)說并不是用于鉗位的而是用于做ESD保護(hù)的。當(dāng)引腳作為ADC輸入的時(shí)候我們必須保證輸入模擬信號(hào)不超過3.6V,5V是不可以的。

上面說了芯片引腳內(nèi)部有二極管保護(hù),但是我建議大家在做設(shè)計(jì)時(shí)如果引腳引出板外最好格外再加TVS二極管來做加強(qiáng)保護(hù),因?yàn)橐_連出板外很容易受靜電等外界因素傷害。比如下載接口,我在空間充足的時(shí)候都會(huì)放上一個(gè)SOT-23的TVS二極管來做保護(hù)。

感謝各位的閱讀,以上就是“STM32單片機(jī)I/O的工作模式有哪些”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)STM32單片機(jī)I/O的工作模式有哪些這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

i/o
AI