找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
查看: 4120|回复: 2
收起左侧

DHT22在STM32上的源程序 iar工程

[复制链接]
ID:286128 发表于 2018-2-27 22:36 | 显示全部楼层 |阅读模式
对于DHT22相对与DHT11相比,虽然价格较贵,但它拥有更高的精度,在工业场合更为合适,本程序由众想科技刘洋师傅的DHT11代码为基础进行编写而成,主要差别在于系统的初始化,以及温湿度计算的方法与DHT11有所差别。
PS:下面的程序是DHT读取数据的部分。在软件校验的时候,有的时候校验可能有问题,导致暂时不能显示温度和湿度,目前原因未知。测试下来如果出问题,一般在2分钟左右会恢复正常,并开始读取实时温度和湿度,若有发现问题的朋友欢迎随时讨论,谢谢

stm32源码如下:

  1. u8 DHT22_Read_Data(float *sd,float *wd)
  2. {
  3.         u8 buf[5];
  4.         u8 i;
  5.         u16 wdtemp,sdtemp;
  6.         DHT22_RST();

  7.         if(DHT22_Check()==0)
  8.         {
  9.            for(i=0;i<5;i++)
  10.            {
  11.                      buf[i]=DHT22_Read_Byte();
  12.                
  13.                 }

  14.            if((buf[0]+buf[1]+buf[2]+buf[3])==buf[4])
  15.            {
  16.                          sdtemp = buf[0];
  17.                          sdtemp = (sdtemp<<8)|buf[1];
  18.                          wdtemp = buf[2];
  19.                          wdtemp = (wdtemp<<8)|buf[3];
  20.                     *sd=sdtemp/10.0;
  21.                    *wd=wdtemp/10.0;
  22.                   return 0;
  23.            }
  24.            else
  25.            {
  26.                      return 1;
  27.            }
  28.         }
  29.         else
  30.         {
  31.                 return 1;
  32.         }
  33. }
复制代码

Keil代码下载::
DHT22.7z (184.06 KB, 下载次数: 128)

评分

参与人数 1黑币 +50 收起 理由
admin + 50 共享资料的黑币奖励!

查看全部评分

回复

使用道具 举报

ID:390928 发表于 2018-12-18 08:37 | 显示全部楼层
这个程序好用吗
回复

使用道具 举报

ID:508737 发表于 2019-4-10 14:54 | 显示全部楼层
请问您的程序里面 E4是接信号线, 那e5呢?
回复

使用道具 举报

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

本版积分规则

手机版|小黑屋|51黑电子论坛 |51黑电子论坛6群 QQ 管理员QQ:125739409;技术交流QQ群281945664

Powered by 单片机教程网

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