GPIO模式用法

2022-07-03 08:30:14 字數 970 閱讀 7747

浮空,顧名思義就是浮在半空,輸入直接與暫存器掛鉤;

開漏,輸出0的時候 pmos管導通io輸出vdd,輸出1的時候 nmos管導通io輸出vss(cmos場效電晶體);

推挽,輸出時候電平確定,同樣使用mos管;

在stm32實際使用中選用io模式

(1) 浮空輸入_in_floating ——浮空輸入,可以做key識別(需要上或下拉電阻),rx1 

(2)帶上拉輸入_ipu——io內部上拉電阻輸入 

(3)帶下拉輸入_ipd—— io內部下拉電阻輸入 

(4) 模擬輸入_ain ——應用adc模擬輸入,或者低功耗下省電

(5)開漏輸出_out_od ——io輸出0接gnd,io輸出1,懸空,需要外接上拉電阻,才能實現輸出高電平。也可以讀io輸入電平變化,實現c51的io雙向功能 

(6)推挽輸出_out_pp ——io輸出0-接gnd, io輸出1 -接vcc,讀輸入值是未知的 

(7)復用功能的推挽輸出_af_pp ——片內外設功能(i2c的scl,sda) 

(8)復用功能的開漏輸出_af_od——片內外設功能(tx1,mosi,miso.sck.ss) 

stm32設定例項: 

(1)模擬i2c使用開漏輸出_out_od,接上拉電阻,能夠正確輸出0和1;讀值時先gpio_setbits(gpiob, gpio_pin_0);拉高,然後可以讀io的值;使用gpio_readinputdatabit(gpiob,gpio_pin_0); 

(2)如果是無上拉電阻,io預設是高電平;需要讀取io的值,可以使用帶上拉輸入_ipu和浮空輸入_in_floating和開漏輸出_out_od;

GPIO工作模式

浮空,顧名思義就是浮在空中,上面用繩子一拉就上去了,下面用繩子一拉就沉下去了.開漏,就等於輸出口接了個npn三極體,並且只接了e,b.c極 是開路的,你可以接乙個電阻到3.3v,也可以接乙個電阻到5v,這樣,在輸出1的時候,就可以是5v電壓,也可以是3.3v電壓了.但是不接電阻上拉的時候,這個輸出高...

GPIO工作模式

其中輸入模式有4種,分別是 1 模擬輸入 gpio mode ain 2 浮空輸入 gpio mode in floating 3 下拉輸入 gpio mode ipd 4 上拉輸入 gpio mode ipu 輸出模式也有4種,分別是 1 開漏輸出 gpio mode out od 2 推挽輸出 ...

GPIO埠模式配置

下圖為gpio硬體結構框圖 gpio 8 種工作模式 1 typedef enum 2 gpiomode typedef 主要介紹一下復用功能 復用功能輸出 中的 復用 是指 stm32 的其它片上外設對 gpio 引腳進行控制,此時 gpio 引腳用作該外設功能的一部分,算是第二用途。從其它外設引...