關於IO模式(浮空 推挽 開漏 )描述及應用

2021-08-15 05:36:45 字數 2363 閱讀 6705

在開發stm32的時候,都需要對

io的模式進行配置(

gpio_initstructure. gpio_mode = ***

)。但是,你們都知道各種模式的具體意義嗎?

有的人問:io口輸出可以上拉嗎? 開漏輸出是幹什麼用的?

其實這些問題並不難,只要你了解到每一種模式的真正意思,相信這些問題都不會難道你。本文的內容比較基礎,也比較實用,希望對你有所幫助。

關於本文的詳細內容請看下面章節

stm32晶元的io有

8中模式:

(1)gpio_mode_ain 

模擬輸入

(2)gpio_mode_in_floating 

浮空輸入

(3)gpio_mode_ipd 

下拉輸入

(4)gpio_mode_ipu 

上拉輸入

(5)gpio_mode_out_od 開漏輸出

(6)gpio_mode_out_pp 

推挽輸出

(7)gpio_mode_af_od 

復用開漏輸出

(8)gpio_mode_af_pp 

復用推挽輸出

四種輸入模式 + 四種輸出模式

上面io結構圖來自

stm32f1

參考手冊,從圖中可以看得出來

io口大致的結構,也能反映出各種模式。

**中常見的一些配置:

下面結合相關資料,講述一下各種模式的內容:

這個模式比較好理

解,主要用於模擬輸入時的配置(一般是針對adc功能)。在特殊

dac輸出的時候也用該模式,參看手冊:

浮空顧名思義就是懸浮在空中,也叫懸空輸入。配置成浮空輸入模式,如果沒有連線其他裝置,檢測其電平是不定的,有可能檢測到高電平,也有可能堅持到低電平。

gpio_mode_ipd下拉 和 

gpio_mode_ipu

上拉模式應該大家都明白它的意思,它們和浮空輸入是成對應關係。

a.上拉或下拉電阻阻值?

有些時候,了解到阻值的大小有助於硬體的設計,以及軟體的程式設計,阻值大小一般是40k左右,具體可以參看資料手冊:

b.疑問

有的人會有這樣的疑問,為什麼沒有輸出下拉?或輸出上拉?

答案其實很簡單,在該系統中,mcu起到主要作用,輸出的電平是由

mcu決定,要麼是高電平,要麼是低電平。

開漏輸出這個功能是比較重要的,也是相對比較難一點的(當然,明白了就覺得簡單)。或許我們平時沒怎麼使用過該功能,並不知道它具體的用途,就沒有多去了解它。

開漏輸出大致意思:設定引腳輸出為「1

」時,該引腳處於開漏,也就是相當於浮空狀態; 設定引腳輸出為「

0」時,該引腳將拉低電平。

前面我有一篇文章【模擬i2c讀寫

eeprom

】裡面i2c匯流排的

sda引腳就使用了開漏輸出功能。也就是需要在釋放

sda匯流排時,只需要將

sda設定輸出為「

1」就行了。

推挽輸出:意思就是輸出具有驅動能力(比如:引腳上接乙個led,可以直接點亮,若是開漏輸出,就不能點亮

led)。

推挽輸出這個功能是比較常用的功能,我們一般輸出控制某個訊號,基本上都是配置為gpio_mode_out_pp 推挽輸出。

推挽輸出電流大小也是比較關鍵的乙個引數,根據晶元不同,其大小也不同,具體可以檢視資料手冊:

復用開漏輸出:該模式和上面「gpio_mode_out_od

開漏輸出」類似,只是它引腳對應的功能具有復用的功能。前面文章【硬體i2c讀寫

eeprom

】裡面就是使用了該功能。

復用推挽輸出功能和推完功能類似,主要用在具有復用功能的情況下,比如usart的

tx引腳等。

關於IO模式(浮空 推挽 開漏 )描述及應用

在開發stm32的時候,都需要對 io的模式進行配置 gpio initstructure.gpio mode 但是,你們都知道各種模式的具體意義嗎?有的人問 io口輸出可以上拉嗎?開漏輸出是幹什麼用的?其實這些問題並不難,只要你了解到每一種模式的真正意思,相信這些問題都不會難道你。本文的內容比較基...

關於IO模式(浮空 推挽 開漏 )描述及應用

io的模式進行配置 gpio initstructure.gpio mode 但是,你們都知道各種模式的具體意義嗎?模式說明io有 8中模式 gpio mode ain 模擬輸入 gpio mode in floating 浮空輸入 gpio mode ipd 下拉輸入 gpio mode ipu ...

I O推挽OD輸出和開漏PP輸出的區別

1.推挽輸出 可以輸出高 低電平,直接與數字元器件連線 2.開漏輸出 3.1集電級開路oc open collection 輸出結構 圖1 3.1.1 右邊的那只 管什麼都不接,所以叫做集電極開路,左邊的管子為共射輸出,起訊號反向作用。當輸入為 0 時,左邊的管子截止。左邊 管子的集電級加1k電阻 ...