GPIO 開漏輸出的時候,也可以讀取外部的資料

2021-10-01 11:53:21 字數 1034 閱讀 6406

今天的實驗是,能不能設定好引腳之後,這個引腳既能輸出,又能輸入呢?比如dht11的資料引腳

1.按鍵的引腳設定為開漏輸出,cpu能讀取到正確的按鍵動作

查詢方式和中斷方式都可以正常工作(按鍵連線地,按下時是低電平)

但是有個非常重要的問題一定要注意,該引腳連線的外部裝置在cpu輸出高電平的時候是不是需要比較大的電流

2.接下來,我們做一下dht11的實驗,也能獲得成功,讀取位資料的時候,沒有修改io埠的模式

實驗**如下:

#include

#include "delay.h"

//華清遠見stm32開發板,dht11資料引腳連線的是pa3引腳

//初始化函式

//主要是引腳的配置

void dht11_init(void)

uint8_t dht11_start(void)

delay_us(1);

}cnt = 0;

while(gpio_readinputdatabit(gpioa, gpio_pin_3)  == bit_set)   //拉高 80us

delay_us(1);

}return 0;

}static uint8_t read_bit(void)

delay_us(20);

}return 0;

}uint8_t dht11_read_byte(void)

return dat;

}uint8_t dht11_read_data(uint8_t *tmp,uint8_t *humi)

for(i=0;i<5;i++)

if(buf[0]+buf[1]+buf[2]+buf[3] == buf[4])

return 1;    //出錯

}

推挽輸出和開漏輸出 GPIO輸入與輸出設定

gpio 也稱為通用輸入 輸出 是控制器中最簡單也是最重要的配置。但即便如此,io也有各種各樣的型別和配置選項,有輸入,輸出,上拉,下拉,推挽等。雖然我們天天都和它打交道,但是你真的了解其中的配置嗎?通常,gpio輸入主要通過以下三種方式之一進行配置 高阻抗 hi z,也稱為浮動floating 上...

STM32的GPIO口的輸出 開漏輸出和推挽輸出

推挽輸出與開漏輸出的區別 推挽輸出 可以輸出高,低電平,連線數字器件 開漏輸出 輸出端相當於三極體的集電極.要得到高電平狀態需要上拉電阻才行.適合於做電流型的驅動,其吸收電流的能力相對強 一般20ma以內 三極體的開漏輸出有什麼特性,和推挽是不是一回事,問題 很多晶元的供電電壓不一樣,有3.3v和5...

推挽輸出與開漏輸出的區別

推挽輸出與開漏輸出的區別 zt push pull輸出就是一般所說的推挽輸出,在cmos電路裡面應該較cmos輸出更合適,因為在cmos裡面的push pull輸出能力不可能做得雙極那麼大。輸出能力看ic內部輸出極n管p管的面積。和開漏輸出相比,push pull的高低電平由ic的電源低定,不能簡單...