OpenEdv-开源电子网

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

DHT11例程中的问题

[复制链接]

1

主题

1

帖子

0

精华

新手入门

积分
8
金钱
8
注册时间
2023-2-3
在线时间
2 小时
发表于 2023-2-8 22:45:30 来自手机 | 显示全部楼层 |阅读模式
今天在看 DHT11数字温湿度传感器实验 视频时,发现例程中存在一点问题。见下边函数:

u8 DHT11_Read_Bit(void)                          
{
        u8 retry=0;
        while(DHT11_DQ_IN&&retry<100)
        {
                retry++;
                delay_us(1);
        }
        retry=0;  <----------
        while(!DHT11_DQ_IN&&retry<100)
        {
                retry++;
                delay_us(1);
        }
        delay_us(40);
        if(DHT11_DQ_IN)return 1;
        else return 0;                  
}

上边箭头处标出的程序是有问题的地方,这个函数中并未像DHT11_Check(那样在跳出循环后对retry的值进行判断和进一步处理(视频中讲到此处时也觉得顿了一下,之后绕过去了),如果一直是高电平的话超过100us应该是DHT11应答失败,但是按程序中运行的话会返回1,求解答
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

10

主题

3281

帖子

1

精华

论坛元老

Rank: 8Rank: 8

积分
8206
金钱
8206
注册时间
2020-5-11
在线时间
3700 小时
发表于 2023-2-9 12:11:06 | 显示全部楼层
就算应答失败,数据校验应该能检查出来吧?所以不必每位数据都检查?
专治疑难杂症
回复 支持 反对

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2024-11-24 16:38

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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