hgmyaoming 发表于 2015-4-1 12:11:30

温湿度程序编译出错

/*
OpenJumper Examples
DHT11 Moudle
www.openjumper.com
*/
#include <dht11.h>

dht11 DHT11;

#define DHT11PIN 2

void setup()
{
Serial.begin(9600);
}

void loop()
{
Serial.println("\n");
// 读取传感器数据
int chk = DHT11.read(DHT11PIN);
Serial.print("Read sensor: ");
// 检测数据是否正常接收
switch (chk)
{
    case DHTLIB_OK:
                Serial.println("OK");
                break;
    case DHTLIB_ERROR_CHECHSUM:
                Serial.println("Checksum error");
                break;
    case DHTLIB_ERROR_TIMEOUT:
                Serial.println("Time out error");
                break;
    default:
                Serial.println("Unknown error");
                break;
}
// 输出湿度与温度信息
Serial.print("Humidity (%): ");
Serial.println(DHT11.humidity);
Serial.print("Temperature (oC): ");
Serial.println(DHT11.temperature);

delay(1000);
}
编译报错:
Arduino: 1.6.1 (Windows 7), Board: "Arduino Uno"

temperature_and_Humidity_check1.ino: In function 'void loop()':

temperature_and_Humidity_check1.ino:29:10: error: 'DHTLIB_ERROR_CHECHSUM' was not declared in this scope

Error compiling.

This report would have more information with
"Show verbose output during compilation"
enabled in File > Preferences.
这是我按《arduino 程序设计基础第二版》的案例敲进去的,卟知道怎么改,能帮看看吗?

zoologist 发表于 2015-4-1 12:47:19

呃 建议你先用 1.0.5 的编译器

1.6 太新了,一些库有兼容问题

Super169 发表于 2015-4-1 14:23:54

本帖最后由 Super169 于 2015-4-1 16:24 编辑

應該不是版本的問題, 看似是某些常數輸入錯誤了.CHECHSUM <- 明顯是串錯字了.

suoma 发表于 2015-4-1 21:43:18

DHTLIB_ERROR_CHECHSUM' was not declared
先定义

hgmyaoming 发表于 2015-4-2 16:24:49

以解决,谢谢各位的指点,果然是串字错了,“CHECHSUM”应该是"CHECKSUM"
页: [1]
查看完整版本: 温湿度程序编译出错