compiler-errors - 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 开发模块编译错误。
此报告将在文件 -> 首选项中启用“在编译期间显示详细输出”选项提供更多信息。
解决方案
库DHTlib仅设计用于 Arduino AVR CPU。您正在尝试在 ESP32 上使用它,这是一种完全不同的架构。
您要么需要重写其低级 I/O 函数以与 ESP32 一起使用——这比修复这个错误要多得多——或者使用为支持 ESP32 而编写的库。
DHTLib 的作者建议使用不同的库DHTNew ,它可以在 ESP8266 和 ESP32 上正确编译。它不是 100% 与 DHTLib 兼容的软件,但它的使用方式类似。
推荐阅读
- asp.net-core - 如何根据自定义请求的标头设置 Json.NET 的转换器
- c# - 通过 finder 启动时 Xamarin.Mac 应用程序崩溃 - 通过 VS 或终端启动时有效
- java - morphia 数据存储获取、保存、删除查询
- ffmpeg - 使用管道而不是文件从原始 h264 创建 mp4 文件
- python - 如何根据数据集中的行长过滤 RDD。?
- django-cms - 如何在 django-cms 中编辑 scss 文件?
- r - 在 R 中,有没有办法在几行代码中替换特定文本?
- javascript - 反应:无法更新儿童道具
- vb.net - 无法获取 .net 类中声明的方法列表
- javascript - 引导表单输出错误结果