【ESP32S3】PlatformIO IDE使用PlatformIO IDE安装PlatformIO IDE基础使用espressif32版本espressif32版本对应arduino‑esp32如何查看当前项目版本PlatformIO 项目级命令PlatformIO 全局平台命令platformio.ini技巧如何解决项目第一次下载慢的问题哪些库需要放在lib_deps中pio ide如何使用ino文件如何开启psram这里主要是针对arduino的frameworkPlatformIO IDE安装基于VSCODE具体参考链接https://docs.platformio.org/en/latest/integration/ide/pioide.html注意pio ide初始化会很久可以先把其依赖c/c安装好建议这个离线安装。PlatformIO IDE基础使用比如编译、上传、串口查看见官方链接:https://docs.platformio.org/en/latest/integration/ide/vscode.html#ide-vscodeespressif32版本官方发布的版参考链接https://registry.platformio.org/platforms/platformio/espressif32/versionsgithub链接https://github.com/platformio/platform-espressif32espressif32版本对应arduino‑esp32platform‑espressif32PlatformIO平台包valeros官方负责工具链、板子定义arduino‑esp32乐鑫Arduino内核真正写代码用的API库官方valeros的platform‑espressif32最高只捆绑 arduino‑esp32 2.0.17IDF4.4.7不支持arduino‑esp32 3.x3.x内核要用社区forkpioarduino/platform‑espressif32。官方valeros平台 稳定版本推荐frameworkarduinoplatform‑espressif32捆绑 arduino‑esp32底层ESP‑IDF说明6.7.02.0.144.4.6老项目经典稳定大量旧开源项目使用6.13.02.0.174.4.7✅综合最稳生产首选bug少S3/C3全部支持7.0.0 /7.0.12.0.174.4.7arduino内核不变只是新增支持原生IDF6.0.1下载包体积大国内下载慢✔日常Arduino开发ESP32‑S3I2S、WiFi、蓝牙优先platform espressif32 6.13.07.0.1的arduino部分和6.13.0完全一样只是IDF原生框架升级到6.0.1如果你不用原生IDF没必要上7.0.1下载体积更大。ini示例推荐[env:s3] platform espressif32 6.13.0 board esp32s3 framework arduinoarduino‑esp32 内核版本对照表乐鑫官方arduino‑esp32底层ESP‑IDF备注2.0.94.4.4老牌稳定部分新S3补丁缺失2.0.144.4.6修复wifi、tls问题2.0.174.4.72.x系列最终版2.x不再更新维护3.0.75.1.43.x初代API大量改动很多旧库不兼容3.3.115.5.5最新3.x支持新芯片C6/P4破坏性变更多如何查看当前项目版本编译项目的时候PACKAGES: - platformio/espressif32 6.13.0 - framework‑arduinoespressif32 3.20017.xxxx3.20017 → arduino‑esp32 2.0.17PlatformIO 项目级命令PlatformIO 全局平台命令背景推荐不建议用 pio pkg install --global 全局安装平台写在项目 platformio.ini项目级声明版本pio run 会自动按需下载不需要全局 install。查看当前全局已安装平台pio platform list卸载全局平台pio pkg uninstall --global --platform platformio/espressif327.0.1清理无用缓存pio system prune --force或者手动删下面的文件夹C:\Users\你的用户名\.platformio\platforms\espressif32全局平台安装命令pio pkg install --global --platform platformio/espressif32^7.0.1参考链接https://registry.platformio.org/platforms/platformio/espressif32/installationplatformio.ini关于ini文件的官方示例链接https://docs.platformio.org/en/latest/projectconf/index.htmlini文件的参数说明https://docs.platformio.org/en/latest/platforms/espressif32.html#id5最小模板比如开启psram和DHT库[env:esp32s3] platform espressif32 6.13.0 ; 稳定版本arduino‑esp32 2.0.17 board esp32-s3-devkitc-1 framework arduino ; PSRAM官方核心配置arduino‑esp32框架专用 ; qio_opi Flash QIO模式 PSRAM OPI模式市面上绝大多数ESP32‑S3带8MB OPI PSRAM board_build.arduino.memory_type qio_opi ; Flash模式跟随memory_type一般不用手动写memory_type会自动推导 ; board_build.flash_mode qio ; Flash容量匹配你的模组N16R8填16MBN8R8填8MB board_upload.flash_size 16MB board_build.partitions default_16MB.csv monitor_speed 115200 lib_deps adafruit/DHT sensor library^1.4.6 adafruit/Adafruit Unified Sensor^1.1.14技巧如何解决项目第一次下载慢的问题方法一配置国内镜像优先永久生效Windows进入%USERPROFILE%\.platformio新建/编辑.pioconfig无后缀[package] mirror.platformio https://mirrors.tuna.tsinghua.edu.cn/platformio/ mirror.espressif https://mirrors.aliyun.com/espressif/保存完全关闭VSCode重启终端再执行安装命令。VSCode插件设置也可以补充Ctrl,搜索platformio‑core.custom_packagesplatformio-core.custom_packages:{index_url:https://mirrors.tuna.tsinghua.edu.cn/platformio/packages/index.json}方法二参考这里的链接试下https://blog.csdn.net/m0_54849976/article/details/145257483需注意配置镜像之后必须完全关闭VSCode旧终端环境变量不会刷新。^7.0.1符号代表7.0.1会拉最新小版本要严格固定7.0.1去掉^写espressif32 7.0.1。下载过程中看到一直在retrying代表网络连国外registry失败必须配置镜像源。验证是否安装成功在完成平台安装或配置镜像源后建议执行以下命令验证安装结果pio platform list命令成功执行后输出列表中应出现你指定的平台版本例如espressif32 7.0.1。哪些库需要放在lib_deps中打开 PIO Home → Libraries切换到 Built‑in(框架内核自带库) 标签页这里全部是框架内核自带库不需要 lib_deps。Registry(网上公开第三方库) 标签页是网上的第三方库如果在这里搜到代表需要 lib_deps。registry网页链接https://registry.platformio.org/search?qESP32库不在官方 Registry 仓库怎么办有些库ESPAsyncWebServerregistry 没有收录直接填 github 仓库地址lib_deps https://github.com/me-no-dev/ESPAsyncWebServer.gitpio ide如何使用ino文件可以直接使用ino文件不用修改。复制ino的内容到cpp里面需要注意两点调用前必须看到函数声明 / 定义不会自动补。PIO 的.cpp文件必须手动写 #include Arduino.h 在最顶部否则报各种digitalWrite、Serial未定义。三方库需要在ini文件中加lib_deps adafruit/DHT sensor library ^1.4.6如何开启psram在ini里面加一行代码R16N8 R8N8:board_build.arduino.memory_type qio_opiboard_upload.flash_size 16MBboard_build.partitions default_16MB.csvR4N2:board_build.arduino.memory_type qio_qspiboard_upload.flash_size 4MBboard_build.partitions default_4MB.csv