ESP32+Arduino+VS code开发环境搭建+BLINK

您所在的位置:网站首页 开发板型号区别图解 ESP32+Arduino+VS code开发环境搭建+BLINK

ESP32+Arduino+VS code开发环境搭建+BLINK

2024-07-11 11:53| 来源: 网络整理| 查看: 265

关于ESP32开发工具 之前一直都有在看关于这个芯片的内容,这个国产的芯片有两种开发方式,一个是内置的ESP-IDF,一个是Arduino开发方式。之前一直没搞懂这两者的区别。 后来发现其实说白了ESP-IDF就是官方自建的一套C/C++的库和工具链,随后在这之上,乐鑫官方又维护了一套支持Arduino语法的库函数,以供支持Arduino。 其中一个很明显的特点就是,在用Arduino开发的过程中,可以混合使用Arduino和ESP-IDF的指令。例如下述两句话,都可以起到延迟1000ms的作用

# ESP-IDF语句 vTaskDelay(1000 / portTICK_PERIOD_MS); # Arduino语句 delay(1000);

在这里插入图片描述

1 Arduino 安装

Arduino安装链接: https://www.arduino.cc/en/software

里面有一个windows app版本,是在微软商店里的,如果要用VS code的请不要用这个版本。 (由于沙盘环境问题,VScode的Arduino插件不支持(插件中说的))

Arduino版本在1.6.x及之后的应该都可以,我装的是目前最新的稳定版1.8.19的zip版本,直接解压用就好。

2 VS code安装与Arduino插件

VS code安装时候记得把C/C++ Extension Pack勾上,或者你后续打开.ino文件的时候VScode会提醒你安装的。

安装Arduino 插件

选择左侧导航栏里的插件选项 搜索Arduino,选择安装即可 在这里插入图片描述 下载好插件的时候,如果你这时候直接运行VS code中关于Arduino的命令,例如: Ctrp+Shit+P 后 输入 Arduino: Examples 会提示报错“Cannot find Arduino IDE. Please specify the “arduino.path” in the User Settings. Requires a restart after change” 在这里插入图片描述

所以我们需要配置一下设置,把我们解压的Arduino路径添加进去。 点击 “文件”–“首选项”–“设置”,打开设置页面后点击右上角的“打开设置(json)”,会打开一个.json文件,添加"arduino.path":“你的路径” 在这里插入图片描述

{ "workbench.colorTheme": "Default Dark+", "python.defaultInterpreterPath": "C:\\Users\\Administrator\\anaconda3\\envs\\dataprocess\\python.exe", "notebook.lineNumbers": "on", "notebook.cellToolbarLocation": { "default": "right", "jupyter-notebook": "left" }, # 添加一个逗号 "arduino.path": "E:\\arduino-1.8.19" # 添加这句路径,实际路径改为你安装的文件夹 }

然后重启一次VS code,此时再运行arduino: examples,就会成功打开如下的页面了,此时你的Arduino IDE和VS code就连接上了。 如果你只是开发Arduino系列的AVR系列的板子,现在大概是可以直接用了。

首先打开一个例程,例如Blink.ino

随后Ctrl+Shift+P打开命令,输入Arduino: Board Config,在弹出的窗口选择板子(例如Arduino Uno),code就会开始配置文件

右下角处选择对应的COM口 在这里插入图片描述

按Ctrl+Alt+R,开始编译文件

按Ctrl+Alt+U,开始上传文件

Done,Uno板子开始亮了。

2.2关于VS code编译Arduino很慢的现象

虽然此时可以正常运行了,但是你可能会发现输出窗口里会提示:

[Warning] Output path is not specified. Unable to reuse previously compiled files. Build will be slower. See README

实际你也会发现每次上传都需要重新编译一遍,反而比Arduino IDE还要慢了 这在Arduino的插件中有描述到,这是因为设置输出路径,所以VScode每次只会临时生成一个文件,然后上传后就没了 因此,为了提高效率,肯定是要设置一下输出路径的。 在工作空间的.vscode下的arduino.json文件里,打开可以看到如下的页面。添加一行"output": "…/build"即可。

此时设置的是工作空间的上一级文件夹,Arduino要求这个路径不能是工作空间本身以及子文件夹,不然可能会出问题。并且这一文件夹在rebuild时会覆盖,所以不要放有用的东西。

在这里插入图片描述 此时的运行会在上一级目录里多一个build文件夹。 在这里插入图片描述

3 配置ESP32开发环境

此处与Arduino IDE配置ESP32的过程类似,都是需要加载第三方的板载文件。 因为通过Arduino进行ESP32的开发,其实也是乐鑫官方基于自行开发的ESP-IDF,再封装了一层,以支持Arduino的语法。

3.1 添加ESP32网址并更新开发板列表

Ctrl+Shift+P,输入arduino: Board Manager打开开发板管理器, 在右下角点击"Additional URLs" 在这里插入图片描述 打开后选择“添加项”,输入网址:“https://dl.espressif.com/dl/package_esp32_index.json”,保存。 在这里插入图片描述 此时,返回开发板管理器页面,点击"Refresh Package Indexs",等待,并选择对应板子的install选项(这一步可能有梯子会更快,实测,没有梯子会报错= =) 在这里插入图片描述

完成后,就会得到图中所示的ESP32的开发板文件了 在这里插入图片描述

其他关于Arduino支持的第三方板子的链接,可以在https://github.com/arduino/Arduino/wiki/Unofficial-list-of-3rd-party-boards-support-urls上找到,但上面并不是全部。 例如: ESP8266:http://arduino.esp8266.com/stable/package_esp8266com_index.json

3.2 ESP32 Link例程

接下来就是尝试写一个嵌入式的hello word了。 首先我们另外创建一个文件夹,复制例程的Blink.ino。 我选择的板子是ESP32-Pico-D4,由于没有板载LED,因此需要自己找一个GPIO口连一个LED灯,也使我们需要定义例程中的LED_BUILTIN这个量,因为若板子有板载LED地话,这个量一般会在你选择板子后在板子的文件中指明(此时就不需要更改例程了) 这里我选择了GPIO25(随便选的),所以在最前面需要添加一句宏定义 #define LED_BUILTIN 25

在这里插入图片描述

#define LED_BUILTIN 25 // the setup function runs once when you press reset or power the board void setup() { // initialize digital pin LED_BUILTIN as an output. pinMode(LED_BUILTIN, OUTPUT); } // the loop function runs over and over again forever void loop() { digitalWrite(LED_BUILTIN, HIGH); // turn the LED on (HIGH is the voltage level) delay(1000); // wait for a second digitalWrite(LED_BUILTIN, LOW); // turn the LED off by making the voltage LOW delay(1000); // wait for a second }

之后类似地,我们选择板子为ESP32-Pico-D4 在这里插入图片描述 选择COM口,修改arduino.json文件以添加output path以保留编译文件 然后按Ctrl+Alt+U,等待上传即可。 在这里插入图片描述

参考书籍: 《超图解:ESP32 深度实作》–赵英杰



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3