跳转至内容

ESP32

来自 ArchWiki


ESP32 是一系列低成本、低功耗的 微控制器,内置 Wi-Fi 和蓝牙连接功能。不同的型号使用不同的 CPU 核心——例如,Tensilica Xtensa LX6、Xtensa LX7 双核,或单核 RISC-V——并包含用于无线操作的片上射频组件,如天线切换、射频巴伦、功率放大器、低噪声接收器、滤波器和电源管理电路。

ESP32 芯片通常被封装在特定应用的 PCB 板上,或者作为开发模块,这些模块暴露了 GPIO 和各种连接器;具体的引脚定义和功能取决于型号和供应商。ESP32 系列由 乐鑫科技 设计,并由台积电采用 40 nm 工艺制造,是 ESP8266 的后继产品。

安装

以下 IDE 和工具链常用于 ESP32 开发

注意 AUR 中提供了一个打包版本(esp-idfAUR);在使用前请验证每个软件包。


配置

配置 Arduino IDE

安装 Arduino IDE 后,添加 Espressif 的板级支持包并选择正确的串口

  • 转到“工具”>“开发板”>“开发板管理器”,搜索“esp32”,然后安装 Espressif 的“esp32”开发板包。
  • 在“工具”>“开发板”和“工具”>“端口”下,选择您的特定开发板(例如,“ESP32 Dev Module”、“ESP32S3 Dev Module”、“ESP32C3 Dev Module”)以及正确的串口。

故障排除

首次刷写/上传问题

  • "Failed to connect to ESP32: Timed out waiting for packet header." 这是最常见的错误。
    • 引导模式:大多数 ESP32 开发板在连接期间和直到上传过程开始时,都需要将 GPIO0 拉低(通过按住“BOOT”按钮)。上传开始后松开按钮。
    • 正确的串口:仔细检查您在 IDE 中选择的串口是否正确(Arduino 中的“工具”>“端口”,或 PlatformIO 的配置中)。
    • 复位/启用顺序:有时,您需要按住 BOOT,然后按下并释放 EN(或 RESET),然后在上传开始后释放 BOOT。
    • USB 转串口驱动程序:许多较旧的 ESP32 开发板使用特定的 USB 转串口芯片(例如,CH340G、CP2102、FTDI)。确保您已安装适用于您的芯片的最新驱动程序。较新的开发板(特别是 S2/S3,具有原生 USB)通常不需要外部驱动程序。
      • 资源:分别搜索 Silicon Labs 或 WCH 的“CP210x 驱动程序”或“CH340G 驱动程序”。
    • USB 线缆质量:许多 USB 线缆是“仅充电”的,或者数据线路质量较差。尝试使用另一根已知良好的数据线缆。尽量保持线缆最短。
    • 串口忙:确保没有其他程序(例如,IDE 的另一个实例、串口终端、之前崩溃的草图)正在使用该串口。如果 Arduino 的串口监视器已打开,请关闭它。
    • 电源不足:一些开发板(尤其是 ESP32-CAM)需要的电流比标准 USB 端口提供的要大,这会导致上传不稳定或掉电。尝试使用带电源的 USB 集线器或连接到开发板 5V 引脚的外部 5V 电源。


参见