查看: 565|回复: 0

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

[复制链接]

该用户从未签到

发表于 2019-3-4 12:11 | 显示全部楼层 |阅读模式

arduino温湿度传感器库 DHT11/DHT22

DHT-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:HT(unsigned char, unsigned char, unsigned char)':

C:\Users\wl\Documents\Arduino\libraries\DHT-sensor-library/DHT.cpp:11: multiple definition of `DHT:HT(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 ="";




完美


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

本版积分规则

Copyright   ©2015-2016  Arduino中文社区  Powered by©Discuz!   ( 蜀ICP备14017632号-3 )
快速回复 返回顶部 返回列表