//等待DHT11的回应
//返回1:未检测到DHT11的存在
//返回0:存在
u8 DHT11_Check(void)
{
u8 retry=0;
DHT11_IO_IN();//SET INPUT
while (DHT11_DQ_IN&&retry<120)//DHT11会拉低80us
{
retry++;
delay_us(1);
};
if(retry>=120)return 1;
else retry=0;
while (!DHT11_DQ_IN&&retry<120)//DHT11拉低后会再次拉高80us
{
retry++;
delay_us(1);
};
if(retry>=120)return 1;
return 0;
}
总感觉这两句while (DHT11_DQ_IN&&retry<100)与while (!DHT11_DQ_IN&&retry<100) 要换一下,哪位高手给解释一下,谢谢
此帖出自
小平头技术问答
一周热门 更多>