标题: DHT22在STM32上的源程序 iar工程 [打印本页]

作者: 就是猥琐    时间: 2018-2-27 22:36
标题: DHT22在STM32上的源程序 iar工程
对于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, 下载次数: 129)




作者: wszly    时间: 2018-12-18 08:37
这个程序好用吗
作者: eviljianai    时间: 2019-4-10 14:54
请问您的程序里面 E4是接信号线, 那e5呢?




欢迎光临 (http://www.51hei.com/bbs/) Powered by Discuz! X3.1