查看: 1774|回复: 3

[其他] 每天一个问题35天6问 :DHT11读取的一种方法

[复制链接]
  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16701
    最后登录
    1970-1-1
    发表于 2015-9-28 22:31:58 | 显示全部楼层 |阅读模式
    本帖最后由 lkl0305 于 2015-9-29 10:02 编辑


    今天给大家分享温湿度传感器DHT11的一种读取方法。

    一、问题提出:
    DHT11是一种低成本的温湿度传感器,输出是单线数据格式。如何使用YL-KL26Z将数据读出呢?

    二、解决办法:
    1、首先要了解DHT11输出数据的格式:每输出1位数据12-14us的低电平开始,紧接着如果高电平在26-28us的话,表示该位是0,如果高电平在116-118us的话,表示该位是1。明白这一点就好办了。
    2、解决办法应该比较多。
    网上大多数情况时用软件延时的方法判断高电平持续时间,那这样会占用CPU的时间,利用率不高。
    3、可以采用TPM的捕获边沿的方式,每捕获到边沿后触发中断,然后判断上次电平的高低和持续时间,然后根据时间来判断是1还是0。
    4、思路有了,程序就不是问题了。

    三、感想与收获:
    1、这种方法采用中断方式,在电平阶段不占用CPU,只有边沿时中断中判断该位的状态。提高CPU的利用率。

    我知道答案 目前已有3人回答
    回复

    使用道具 举报

  • TA的每日心情
    开心
    2018-9-20 20:56
  • 签到天数: 20 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    12

    主题

    449

    帖子

    0

    高级会员

    Rank: 4

    积分
    984
    最后登录
    2018-9-20
    发表于 2015-9-28 23:40:41 | 显示全部楼层
    谢谢楼主分享支持一个
    该会员没有填写今日想说内容.
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2018-7-23 21:04
  • 签到天数: 103 天

    连续签到: 1 天

    [LV.6]常住居民II

    228

    主题

    5379

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    16701
    最后登录
    1970-1-1
     楼主| 发表于 2015-9-29 10:02:48 | 显示全部楼层
    hello! 发表于 2015-9-28 23:40
    谢谢楼主分享支持一个

    多谢支持,欢迎交流
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    开心
    2017-2-9 14:16
  • 签到天数: 17 天

    连续签到: 1 天

    [LV.4]偶尔看看III

    25

    主题

    1785

    帖子

    0

    金牌会员

    Rank: 6Rank: 6

    积分
    2250
    最后登录
    2024-6-11
    发表于 2015-9-30 10:28:45 | 显示全部楼层
    学习了,谢谢分享
    freescaleic.org.png
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /3 下一条

    Archiver|手机版|小黑屋|恩智浦技术社区

    GMT+8, 2025-7-20 12:19 , Processed in 0.092982 second(s), 25 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.

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