OpenEdv-开源电子网

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

DHT11 求代码分析,一直没绕懂

[复制链接]

8

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2016-8-18
在线时间
19 小时
发表于 2016-9-9 15:47:10 | 显示全部楼层 |阅读模式
1金钱
u8 DHT11_Check(void)           
{   
        u8 retry=0;
        DHT11_IO_IN();         
    while (DHT11_DQ_IN&&retry<100)
                retry++;
                delay_us(1);
        };         
        if(retry>=100)return 1;
        else retry=0;
    while (!DHT11_DQ_IN&&retry<100)
        {
                retry++;
                delay_us(1);
        };
        if(retry>=100)return 1;            
        return 0;
}


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;       
}          

响应check的时序图

响应check的时序图

这两段代码是怎样体现出时序的啊?

读0的时序图

读0的时序图

读1的时序图

读1的时序图

最佳答案

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

有点绕,后来看懂了,大神有没有更简洁的代码啊?
正点原子逻辑分析仪DL16劲爆上市
回复

使用道具 举报

8

主题

18

帖子

0

精华

初级会员

Rank: 2

积分
193
金钱
193
注册时间
2016-8-18
在线时间
19 小时
 楼主| 发表于 2016-9-9 15:47:11 | 显示全部楼层
STM33 发表于 2016-9-9 17:41
只能告诉你,这个代码充分体现了了单总线时序

有点绕,后来看懂了,大神有没有更简洁的代码啊?
回复

使用道具 举报

7

主题

59

帖子

0

精华

中级会员

Rank: 3Rank: 3

积分
461
金钱
461
注册时间
2015-4-6
在线时间
57 小时
发表于 2016-9-9 17:41:47 | 显示全部楼层
只能告诉你,这个代码充分体现了了单总线时序
回复

使用道具 举报

530

主题

11万

帖子

34

精华

管理员

Rank: 12Rank: 12Rank: 12

积分
165377
金钱
165377
注册时间
2010-12-1
在线时间
2111 小时
发表于 2016-9-13 20:47:45 | 显示全部楼层
往事随风 发表于 2016-9-13 09:26
有点绕,后来看懂了,大神有没有更简洁的代码啊?

你可以自行精简。
我是开源电子网www.openedv.com站长,有关站务问题请与我联系。
正点原子STM32开发板购买店铺http://openedv.taobao.com
正点原子官方微信公众平台,点击这里关注“正点原子”
回复

使用道具 举报

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

本版积分规则



关闭

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

正点原子公众号

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

GMT+8, 2025-2-28 14:02

Powered by OpenEdv-开源电子网

© 2001-2030 OpenEdv-开源电子网

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