今天的實驗是,能不能設定好引腳之後,這個引腳既能輸出,又能輸入呢?比如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的電源低定,不能簡單...