while(DHT11_Init()) //DHT11初始化
{
LCD_ShowString(30,130,200,16,16,"DHT11 Error");
delay_ms(200);
LCD_Fill(30,130,239,130+16,WHITE);
delay_ms(200);
}
LCD_ShowString(30,130,200,16,16,"DHT11 OK");
while(DHT11_Init()) 是DHT11_Init()为一,也就是成功了的时候循环
然而显示DHT11 Error
否则显示DHT11 OK
这是怎么回事,可能我的理解有问题,希望大神指教
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
/等待 DS18B20 的回应
//返回 1:未检测到 DS18B20 的存在
//返回 0:存在
u8 DS18B20_Check(void)
{
u8 retry=0;
DS18B20_IO_IN();//SET PA0 INPUT
while (DS18B20_DQ_IN&&retry<200)
{
retry++;
delay_us(1);
};
if(retry>=200)return 1;
else retry=0;
while (!DS18B20_DQ_IN&&retry<240)
{
retry++;ALIENTEK 战舰 STM32F103 V3 开发板教程
487
STM32F1 开发指南(库函数版)
delay_us(1);
};
if(retry>=240)return 1;
return 0;
}
一周热门 更多>