OpenEdv-开源电子网

 找回密码
 立即注册
正点原子全套STM32/Linux/FPGA开发资料,上千讲STM32视频教程免费下载...
查看: 3116|回复: 1

开发指南中的 DS18B20的例程while(DHT11_Init())的问题

[复制链接]

1

主题

2

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2017-7-8
在线时间
4 小时
发表于 2017-7-8 21:27:42 | 显示全部楼层 |阅读模式
1金钱
        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
这是怎么回事,可能我的理解有问题,希望大神指教


最佳答案

查看完整内容[请看2#楼]

很尴尬,这么简单的问题, /等待 DS18B20 的回应 //返回 1:未检测到 DS18B20 的存在 //返回 0:存在 u8 DS18B20_Check(void) { u8 retry=0; DS18B20_IO_IN();//SET PA0 INPUT while (DS18B20_DQ_IN&&retry=200)return 1; else retry=0; while (!DS18B20_DQ_IN&&retry=240)return 1; return 0; }
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

1

主题

2

帖子

0

精华

新手入门

积分
18
金钱
18
注册时间
2017-7-8
在线时间
4 小时
 楼主| 发表于 2017-7-8 21:27:43 | 显示全部楼层
很尴尬,这么简单的问题,
/等待 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;
}
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则



关闭

原子哥极力推荐上一条 /2 下一条

正点原子公众号

QQ|手机版|OpenEdv-开源电子网 ( 粤ICP备12000418号-1 )

GMT+8, 2025-1-19 02:43

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

快速回复 返回顶部 返回列表