arduino dht11步调 int temp;//温度
int humi;//湿度
int tol;//校对码
int j;
unsigned int loopCnt;
int chr[40] = {0};//创立数字数组,用来寄存40个bit
unsigned long time;
#define pin 2
ZZZoid setup()
{
Serial.begin(9600);
}
ZZZoid loop()
{
bgn:
delay(2000);
//设置2号接口形式为:输出
//输出低电平20ms(>18ms)
//输出高电平40μs
pinMode(pin,OUTPUT);
digitalWrite(pin,LOW);
delay(20);
digitalWrite(pin,HIGH);
delayMicroseconds(40);
digitalWrite(pin,LOW);
//设置2号接口形式:输入
pinMode(pin,INPUT);
//高电平响应信号
loopCnt=10000;
while(digitalRead(pin) != HIGH)
{
if(loopCnt-- == 0)
{
//假如长光阳不返回高电平,输出个提示,重头初步。
Serial.println("HIGH");
goto bgn;
}
}
//低电平响应信号
loopCnt=30000;
while(digitalRead(pin) != LOW)
{
if(loopCnt-- == 0)
{
//假如长光阳不返回低电平,输出个提示,重头初步。
Serial.println("LOW");
goto bgn;
}
}
//初步读与bit1-40的数值
for(int i=0;i50)
{
chr[i]=1;
}else{
chr[i]=0;
|