STM32 GPIO的幾種工作模式

2021-08-13 01:57:53 字數 1273 閱讀 9595

1、模擬輸入

i/o口當作input使用,並且是模擬輸入。模擬狀態下用來接收模擬量(電壓值),一般用於ad採集。

2、浮空輸入

沒有上拉和下拉電阻,當引腳沒有和外部電路連線時,i/o埠的電平是不確定的,即使外部的乙個很小的輸入訊號都會使其發生變化。

3、上拉輸入

引腳內部有乙個上拉電阻通過開關連線到電源vdd,當引腳沒有和外部電路連線時,設定上拉輸入的引腳為高電平

4、下拉輸入

引腳內部有乙個下拉電阻通過開關連線到地gnd,當引腳沒有和外部電路連線時,設定上拉輸入的引腳為低電平

5、開漏輸出

1 輸出端相當於三極體的集電極,要得到高電平需要(外部)上拉電阻才行,適合於做電流型的驅動

2、般來說,開漏是用來連線不同電平的器件,匹配電平用的,因為開漏引腳不連線外部的上拉電阻時,只能輸出低電平,如果需要同時具備輸出高電平的功能,則需要接上拉電阻,很好的乙個優點是通過改變上拉電源的電壓,便可以改變傳輸電平。比如加上上拉電阻就可以提供ttl/cmos電平輸出等。(上拉電阻的阻值決定了邏輯電平轉換的速度。阻值越大,速度越低功耗越小,所以負載電阻的選擇要兼顧功耗和速度。)

3、可以將多個開漏輸出連線到一條線上。通過乙隻上拉電阻,在不增加任何器件的情況下,形成」與邏輯」關係,即」線與」。可以簡單的理解為:在所有引腳連在一起時,外接一上拉電阻,如果有乙個引腳輸出為邏輯0,相當於接地,與之併聯的迴路」相當於被一根導線短路」,所以外電路邏輯電平便為0,只有都為高電平時,與的結果才為邏輯1。

4、開漏輸出就是不輸出電壓,低電平時接地,高電平時不接地。如果外接上拉電阻,則在輸出高電平時電壓會拉到上拉電阻的電源電壓。這種方式適合在連線的外設電壓比微控制器電壓低的時候。輸出端出跟集電極開路十分相似,工作原理也是一樣的。不同的是,開漏輸出使用的場效電晶體,使用時要加上拉電阻。

6 推挽輸出

推挽輸出可以輸出高、低電平,連線數字器件

關於推挽輸出和開漏輸出,用一幅最簡單的圖形來概括:該圖中左邊的便是推挽輸出模式,其中比較器輸出高電平時下面的pnp三極體截止,而上面npn三極體導通,輸出電平vs+;當比較器輸出低電平時則恰恰相反,pnp三極體導通,輸出和地相連,為低電平。右邊的則可以理解為開漏輸出形式,需要接上拉。

7 復用開漏輸出

gpio被用作第二功能

8 復用推挽輸出

gpio被用作第二功能

stm32GPIO無法工作原因

最近在除錯0.96寸oled時遇見了乙個非常奇怪的問題,當我軟體模擬spi時某些引腳死活不工作,一開始我以為是我的板子問題,但實際上是stm32對於某些引腳預設有一些操作,導致無法正常的初始化。對於開發者來說,stm32很多引腳都有非常豐富的功能,能讓我們開發者進行很多功能的開發,但是正是因為引腳功...

stm32 GPIO埠的幾種模式

以前只使用,沒有詳細理解過。現在回來做個 輸入模式 gpio mode in floating 輸入浮空 gpio mode ipu 輸入上拉 gpio mode ipd 輸入下拉 gpio mode ain 模擬輸入 輸出模式 gpio mode out od 開漏輸出 gpio mode af ...

STM32 GPIO的8種工作模式

一 推挽輸出 可以輸出高 低電平,連線數字器件 推挽結構一般是指兩個三極體分別受兩個互補訊號的控制,總是在乙個三極體導通的時候另乙個截止。高低電平由ic的電源決定。推挽電路是兩個引數相同的三極體或mosfet,以推挽方式存在於電路中,各負責正負半周的波形放大任務,電路工作時,兩隻對稱的功率開關管每次...