前言

Arduino IDE对于我来说太难用了,不过本质还是C++开发,理论上VSCode也可以。

安装 Arduino CLI

Arduino不仅提供了IDE,也提供有命令行工具

首先安装Arduino CLI,在 https://docs.arduino.cc/arduino-cli/installation/ 中找到适合自己系统的Arduino CLI并进行安装。

安装完成后输入arduino-cli help core确保已经正常安装。

配置 Arduino CLI

首先需要初始化Arduino CLI

1
arduino-cli config init

配置“用户目录”,该目录会用于存放第三方库等等,推荐和config设置为一个路径

1
arduino-cli config set directories.user "用户目录路径"

然后添加官方的加速源,否则可能下载会十分慢

1
arduino-cli config set board_manager.additional_urls https://jihulab.com/esp-mirror/espressif/arduino-esp32/-/raw/gh-pages/package_esp32_index_cn.json

接着更新板子列表

1
arduino-cli core update-index

这里我们可以先不下载。

配置 VSCode与环境

安装Arduino Maker Workshop插件,然后打开一个文件夹用于工作目录。

插件安装完成后在侧边栏点击插件,点击Maker Workshop Home,即可打开配置栏。

首先进入Boards Manager,点击Not Installed标签,搜索esp32,然后点最右边的倒三角展开,版本选择x.x.x-cn,这个才是加速的版本

然后点击版本旁边的下载按钮开始下载。

安装完成后进入Board Selection,选择ESP32S3 Dev Module即可。

接着点击Board Configuration配置板子

Uplaod Speed最好别选921600,太高板子可能承受不住,512000我的可以正常刷入,实际根据板子体质决定。

Flash Mode根据实际情况来决定,部分板子可能支持OPI,可以通过下面命令查看(错误的配置会导致板子无法启动):

提示esptool找不到则是没安装esptool,如何安装esptool请自行Google

1
esptool flash-id

然后回输出Flash Memory Information,在Flash type set in eFuse一栏中查看,我的板子是quad (4 data lines)

所以我选择QIO 80MHz,如果你的Flash支持8 data lines则可以选择OPI

Flash Size是多少选多少,我的是N16R8,所以我选择的是16MB

Partition Scheme我选的是16M Flash(2MB APP/12.5MB FATFS),自己根据实际情况选择

PSRAM一般情况下,ESP32-S3-WROOM-1-N4R8/N8R8/N16R8是支持Octal SPI的,可以选择OPI PSRAM

该文中有详细表:https://blog.csdn.net/tianizimark/article/details/125264464

Arduino Run OnEvents Run On是否要同一个核心看你自己,不同核心的话可能会出现多线程竟态问题(存疑),如果工程简单的话都跑在一个核心上没问题

剩下的全部默认即可

编译烧录

点击Compile和Upload就行。

飘红问题

有时候安装第三方库include后会飘红,这里只需要编译(Compile)一下,就会自动补齐配置

如果还是有问题,按住Ctrl+Shift+P打开VSCode的命令栏,找到编辑配置(UI),指定一下g++位置,包含路径中添加库文件夹即可

例如我的是C:\Users\GoodBoyboy\AppData\Local\Arduino15\libraries/**

参考

https://docs.arduino.cc/arduino-cli/getting-started/

https://blog.csdn.net/ZHOU_YONG915/article/details/130118049

https://docs.espressif.com/projects/arduino-esp32/en/latest/installing.html

https://blog.csdn.net/tianizimark/article/details/125264464

https://blog.csdn.net/tianizimark/article/details/124663902