2003引腳功能電壓 嵌入式篇 IO引腳

2021-10-12 21:48:53 字數 1662 閱讀 8628

io引腳即輸入輸出引腳,可以說是數位電路中最為基礎的部分。就像我們在學習一門新的語言,我們都會先去編寫乙個「hello,world」的程式一樣,我們學習嵌入式往往做的第乙個例程,就是點燈。點燈實驗可能讓你對io引腳有了個直觀上的了解,但實際上,嵌入式晶元的io引腳有很多種模式。

stm32gpio結構圖

1:上拉輸入模式:

若是嵌入式晶元的io引腳配置程上拉模式,那麼晶元上電以後,該io引腳在晶元內部會通過乙個電阻被上拉至乙個高電平(該電平一般就是晶元的工作電壓,但是有些嵌入式晶元的io電平會有專門的電源),在外界沒有輸入的情況下,從程式中讀到的該引腳資料則為1,高電平。

2:下拉輸入模式:

和上拉模式相對應,若是將io引腳配置成下拉模式,晶元上電以後,該io引腳也會通過電阻被下拉至地,在外界沒有輸入的情況下,從程式中讀到的該引腳資料為0,低電平。、

上下拉模式是嵌入式中最為常見的兩種模式,一般在電路初始化的時候我們不僅要設定引腳的上下拉模式,有時候還會再引腳外部自己加入上拉或者下拉電阻,以保證系統在上電過程中晶元引腳處於乙個穩定的狀態。

3:浮空輸入模式:

浮空輸入下的io引腳既不接上拉電阻,也不接下拉電阻,此時io引腳呈現的是一種高阻狀態,經晶元內部的觸發器輸入,這種情況下其引腳電壓是個不確定的值,由外部輸入決定。這種高阻狀態下,非常只用於i2c以及usart的接收端。

4:模擬輸入模式:

這種模式一般用於adc模式,由於該種模式下不經過觸發器,也不接上拉和下拉電阻,因此也很適用於低功耗的場合。

5:推挽輸出模式:

所謂的推挽輸出模式,則是根據其工作方式來命名的。在輸出模式下,電路會經過乙個由p-mos管和n-mos管組成的單元電路(如圖中下半部分)。在輸出高電平時,p-mos管導通;低電平的時候,n-mos管導通。兩個管子輪流導通,乙個負責灌電流,乙個負責拉電流,使其負載能力和開關速度都比普通的方式很大的提高。

6:開漏輸出模式:

這種模式下,如果我們輸出為0,低電平,則使n-mos管導通,使輸出接地,若控制輸出為1(無法直接輸出高電平),則既不輸出高電平,也不輸出低電平,為高阻態。也就是說,開漏模式下的io引腳電平其實是由外部電路決定的,在正常使用時必須外部接入乙個上拉電阻,此時輸出的高電平,其實是外部上拉電阻所接電源電壓。若是多個開漏輸出的io引腳連線到一起,必須滿足所有的io引腳都輸出高阻態,才能由上拉電阻提供高電平,有乙個引腳為低電平,那線路就相當於短路接地(線與功能)。我們在設計電路時若是看到晶元手冊中有開漏輸出的情況,一定要記得加上拉。

7:復用推挽輸出模式:

復用推挽輸出是相對於普通推挽輸出而言的,因為嵌入式晶元的io引腳有很多功能,有最常見的gpio,也有復用功能,比如usart中的串列埠輸出引腳,則需配置成這種模式,因為其高低電平都可以輸出,帶載能力強。

8:復用開漏輸出:

同樣,復用開漏輸出是對應於普通開漏輸出而言的,在使用該功能時必須所有的引腳接入上拉電阻,上拉電阻決定功耗和速度。一般用於ic、smbus這些需要線與功能的復用場合。

以上就是在嵌入式領域比較常見的io工作模式,當然還有其他的模式,這裡就不一一展開了,比較需要注意的就是開漏模式,以及在引腳復用時,io工作模式的選取。

stm32 引腳功能設定及應用

gpio mode ain 0x0,模擬輸入 gpio mode in floating 0x04,浮空輸入 gpio mode ipd 0x28,帶下拉輸入 gpio mode ipu 0x48,帶上拉輸入 gpio mode out od 0x14,表示配置相應管腳為gpio開漏輸出 真雙向io...

嵌入式linux實現vnc功能

現在有乙個想法準備在嵌入式裝置和pc之間通過網路實現一種類似遠端桌面的功能,在pc端可以看到嵌入式裝置顯示的內容,並且可以使用滑鼠和鍵盤操作嵌入式裝置的程式。檢視了網路上的一些資料後,準備使用vnc功能來實現,在嵌入式裝置端啟動vncserver,在pc端啟動vncclient,建立連線後能實現需要...

嵌入式中 MMU的功能

學習嵌入式才發現要看的書太多,外面的世界很精彩啊,現在來說說mmu吧,mmu是memory management unit的縮寫,是用來管理虛擬記憶體系統的器件。mmu通常是cpu的一部分,本身有少量儲存空間存放從虛擬位址到實體地址的匹配表。此表稱作tlb 轉換旁置緩衝區 所有資料請求都送往mmu,...