DHT11连接ESP32官方示例提示为ESP32开发板编译错误的问题-Arduino中文社区 - Powered by Discuz! Archiver

wldellstar 发表于 2019-3-4 12:11

DHT11连接ESP32官方示例提示为ESP32开发板编译错误的问题

:)
arduino温湿度传感器库 DHT11/DHT22
https://www.arduino.cn/static/image/filetype/zip.gifDHT-sensor-library.zip(7.09 KB, 下载次数: 94)


支持的传感器
DHT11 / DHT22 / DHT21 / AM2301
github
https://github.com/adafruit/DHT-sensor-library我们呢,首先按照这个方法下载,并安装这些库文件。按照官方的说法打开示例直接编译上传即可:可是在我的板子上出现了编译错误的提示:C:\Users\rain\Documents\Arduino\libraries\DHT-sensor-library-master\DHT_U.h:25:29: fatal error: Adafruit_Sensor.h: No such file or directory

#include <Adafruit_Sensor.h>
这个问题不大,去下载Adafruit_Sensor-master.zip就OK了。
链接:https://github.com/adafruit/Adafruit_Sensor



随后,再进行编译,会提下如下错误:
libraries\DHT-sensor-library\DHT.cpp.o: In function `DHT::DHT(unsigned char, unsigned char, unsigned char)':

C:\Users\wl\Documents\Arduino\libraries\DHT-sensor-library/DHT.cpp:11: multiple definition of `DHT::DHT(unsigned char, unsigned char, unsigned char)'

为开发板编译错误。

错误的原因:
看错误信息应该是多定义,可能是我们的arduino编译器版本的问题,不使用DHT.h在程序中DHT也是关键字。

我的解决办法,1下载旧版本的DHT库文件。
2.打开库文件里的DHT.h和DHT.cpp,和DHT_u.H
把里面的DHT全部更换成DHT1,

3.把程序里的DHT,改成DHT1
#define BLINKER_WIFI
#include <Blinker.h>
#include "DHT.h"
//#include <Adafruit_Sensor.h>
//串口缓存
String serbuff = "";

//温度电压读取,
#define DHTPIN 4//模拟端口
#define DHTTYPE DHT11// DHT 11
DHT1 dht(DHTPIN, DHTTYPE);
String weather_default ="";




完美

yuerdaidai 发表于 2020-2-15 17:53

顶~~~~~~~

奈何col 发表于 2020-2-16 00:26

就是你缺个库而额,并不是bug。你如果用我教程里提供的库,就没这问题了
页: [1]
查看完整版本: DHT11连接ESP32官方示例提示为ESP32开发板编译错误的问题