首页 > 解决方案 > ESP32 编译探针

问题描述

我的板 esp32 有问题。据说为 esp32 dev 模块编译时出错。请问你能帮我吗?我将在下面粘贴错误消息:

Arduino: 1.8.16 (Windows Store 1.8.51.0) (Windows 10), Board: "ESP32 Dev Module, Disabled, Default 4MB with spiffs (1.2MB APP/1.5MB SPIFFS), 240MHz (WiFi/BT), QIO, 80MHz , 4MB (32Mb), 921600, 无"

在 C:\Users\Win10\Documents\Arduino\libraries\DHTLib\dht.h:18:0 中包含的文件中,

             from C:\Users\Win10\Documents\Arduino\libraries\DHTLib\dht.cpp:30:

C:\Users\Win10\Documents\Arduino\libraries\DHTLib\dht.cpp:在成员函数'int dht::_readSensor(uint8_t, uint8_t)'中:

C:\Users\Win10\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.6\cores\esp32/Arduino.h:106:91: error: cannot convert 'volatile uint32_t* {aka volatile unsigned int*} ' 到 'volatile uint8_t* {aka volatile unsigned char*}' 在初始化

#define portInputRegister(port) ((volatile uint32_t*)((port)?GPIO_IN1_REG:GPIO_IN_REG))

                                                                                       ^

C:\Users\Win10\Documents\Arduino\libraries\DHTLib\dht.cpp:116:29:注意:在宏“portInputRegister”的扩展中

 volatile uint8_t *PIR = portInputRegister(port);

                         ^

为“WiFi.h”找到了多个库

使用:C:\Users\Win10\Documents\ArduinoData\packages\esp32\hardware\esp32\1.0.6\libraries\WiFi

未使用:C:\Program Files\WindowsApps\ArduinoLLC.ArduinoIDE_1.8.51.0_x86__mdqgnx93n4wtt\libraries\WiFi

退出状态 1

为板 ESP32 开发模块编译错误。

此报告将在文件 -> 首选项中启用“在编译期间显示详细输出”选项提供更多信息。

标签: compiler-errorswifiiotesp32arduino-ide

解决方案


DHTlib仅设计用于 Arduino AVR CPU。您正在尝试在 ESP32 上使用它,这是一种完全不同的架构。

您要么需要重写其低级 I/O 函数以与 ESP32 一起使用——这比修复这个错误要多得多——或者使用为支持 ESP32 而编写的库。

DHTLib 的作者建议使用不同的库DHTNew 它可以在 ESP8266 和 ESP32 上正确编译。它不是 100% 与 DHTLib 兼容的软件,但它的使用方式类似。


推荐阅读