0

编译此代码时,出现错误“dht 未命名类型”

 #include <DHT.h>

 #include <DHT22.h>


  dht DHT;


  #define DHT22_PIN 5

 void setup()
{
    Serial.begin(9600);
    Serial.println("DHT TEST PROGRAM ");
    Serial.print("LIBRARY VERSION: ");
    Serial.println(DHT_LIB_VERSION);
    Serial.println();
    Serial.println("Type,\tstatus,\tHumidity (%),\tTemperature (C)");
}

 void loop()
{
     // READ DATA
     Serial.print("DHT22, \t");
     int chk = DHT.read22(DHT22_PIN);
     switch (chk)
    {
         case DHTLIB_OK:
             Serial.print("OK,\t");
              break;
        case DHTLIB_ERROR_CHECKSUM:
              Serial.print("Checksum error,\t");
              break;
        case DHTLIB_ERROR_TIMEOUT:
              Serial.print("Time out error,\t");
              break;
         default:
             Serial.print("Unknown error,\t");
            break;
      }
       // DISPLAY DATA
         Serial.print(DHT.humidity, 1);
        Serial.print(",\t");
         Serial.println(DHT.temperature, 1);
       delay(1000);

      }

我正在使用 dht22 温度和湿度传感器,我的库位于正确的文件夹中。

任何人都可以帮我消除这种类型的错误..??

提前致谢。

4

2 回答 2

2

在过去的几个小时里,我刚刚处理了同样的问题,最后弄清楚了问题所在。我从网页上复制和粘贴库文件,然后尝试从草图中保存它们,所以每次我保存我的“.h”和“.cpp”文件时,我实际上是将它们保存为“.h .ino" 和 ".cpp.ino" 文件,在编译过程中当然不会被识别。我通过将库代码复制到文本文档中来纠正这个问题,然后“另存为...”并将文件类型更改为“所有文件”并将它们保存为正确的文件类型。将这两个文件粘贴到您的 Arduino 库文件中的一个命名文件夹中,您应该一切顺利。我花了很长时间才弄清楚。我有些惭愧。

希望这还不算太晚,它可以帮助某人!一切顺利

于 2014-11-29T22:43:05.337 回答
1

这是我在设置部分之前使用的:

#include <DHT.h>

#define DHTPIN 2

#define DHTTYPE DHT11

DHT dht(DHTPIN,DHTTYPE);

int chk;

float temp;

float hum;
于 2016-10-26T20:43:24.630 回答