02-VS Code 和 PlatformIO IDE开发环境

Author:teacherXue

一、安装VS Code

Arduino IDE 非常适合小型应用程序。但是,对于具有超过 200 行代码、多个文件和其他高级功能(如自动完成和错误检查)的高级项目,带有 PlatformIO IDE 扩展的 VS Code 是最佳选择,并且其可以有代码提示功能,这对于高效率编程非常有帮助。

1.在 Windows 上安装 VS Code

转到https://code.visualstudio.com/并下载适用于当前操作系统 (Windows) 的稳定版本,该软件作为免费软件可以放心使用。下载后执行安装程序。

建议在安装时选择添加到环境变量PATH,否则后续将需要手动完成。

安装完成后将会看到比较简洁的界面,因为还没安装相应的支持组件。

2.配置中文环境支持

中文界面将会比较友好,我们可以通过安装插件的方式支持中文界面。通过主界面左侧的扩展功能图标在扩展管理界面直接搜索Chinese,安装中文扩展包安装。

安装完毕提示重启

看到中文界面

3.安装Python环境

要使用 PlatformIO IDE 对 ESP32 和 ESP8266 板进行编程,您需要在计算机中安装 Python 3.5 或更高版本。转到https://www.python.org/downloads/并下载 Python 3.8.5 或最新版本。打开下载的文件以启动 Python 安装向导。出现以下窗口,实际情况根据你的系统匹配情况而定。同时选中将 Python添加到 PATH 选项可以避免后续手动配置。

安装成功,你将看见如下界面。

二、在 VS Code上使用 PlatformIO IDE 开发

可以使用带有PlatformIO IDE 扩展的 VS Code 对ESP32和ESP8266板进行编程,Platform号称下一代的物联网开发平台,其本质是一个集成开发环境,其本身几乎不包括任何实质性功能,利用了vscode强大的扩展extension功能,使得开发者可以在vscode中直接调用gcc、jlink、gdb等进行开发、调试。

  1. 安装PlatformIO

和安装中文扩展支持方式相同,在扩展管理里搜索PlatformIO IDE,未安装的情况下,主界面可以看到安装链接。

安装后确保扩展已被启用,也可以在该界面删除扩展。

启用扩展后,PlatformIO图标应该会出现在左侧边栏上,同时还有一个Home图标可以将您重定向到 PlatformIO 主页。

如果没有在底部看到PIO图标和快速工具,可能需要重新启动 VS 代码才能使更改生效。无论哪种方式,我们都建议在继续之前重新启动 VS Code。

  1. 创建一个新项目

1)在 VS Code 上,单击 PlartfomIO主页图标。点击+ New Project开始一个新项目。

2)为项目命名(例如Glitter_LED)并选择正在使用的电路板。在我们的例子中,我们使用的是Espressif 8266 ESP-12E,如果你是首次使用,开发板加载的时间可能会非常的长,其他开发板的项目创建过程相同。Framework 应该是“ Arduino ”才能使用 Arduino 内核。可以选择默认位置来保存您的项目或自定义位置。

3)单击完成。等待项目创建。

4)是否信任插件的作者,选择是。

  1. 主要文件

可以从资源管理器选项卡访问新建的项目。PlatformIO 的文件夹结构不同于标准的.ino项目。在项目文件夹下看到它创建的所有文件。文件看起来很多。但是,通常您只需要处理其中的一两个文件。

1)platformio.ini 文件

platformio.ini文件是您项目的PlatformIO 配置文件。它显示了您的项目的平台、板和框架。您还可以添加其他配置,如要包含的库、上传选项、更改串行监视器波特率和其他配置。

  • platform:对应于开发板使用的 SoC。

  • board:您正在使用的开发板。

  • framework:将运行项目代码的软件环境。

我们在该文件里设置一下串口通信波特率monitor_speed= 115200,确保按Ctrl + S保存对文件所做的更改。输入时内置变量和方法会自动提示,非常便利。

在此文件中,还可以使用lib_deps指令,后面会用到。

2)源代码文件夹

src文件夹是您的工作文件夹。在src文件夹下,有一个main.cpp文件。那就是您编写代码的地方。单击该文件,可以看到熟悉的Arduino 程序结构的setup()和loop()方法。在PlatformIO 中,你所有的 Arduino 草图都应该以#include <Arduino.h>。

3)参考第一章的arduino项目,输入板载LED闪烁控制代码,增加了串口通信的代码。注意,一定保留首行的#include<Arduino.h>。

#include <Arduino.h>

#define LED 2

void setup() {

// put your setup code here, to run once:

Serial.begin(115200); //设置串口通信波特率

pinMode(LED, OUTPUT);

}

void loop() {

// put your main code here, to run repeatedly:

digitalWrite(LED, HIGH);

Serial.println("LED is on"); //通过串口通讯打印信息

delay(1000);

digitalWrite(LED, LOW);

Serial.println("LED is off"); //通过串口通讯打印信息

delay(1000);

}

  1. 编译并烧录程序

1)连接开发板,确认端口。

在platformio IDE中串口可以被复用,多数情况下只连接一个开发板的情况下可以自动识别。点击platformio的主目录左侧的Devices设备菜单,可以看到本机串口连接设备,本例中为COM5,还是比较容易被区分的。

也可以在主界面底部工具栏直接选择对应串口

2)编译烧录程序

在主界面下方工具栏可以找到和Arduino IDE一致的编译烧录按钮,如果有多个项目编辑,注意检查当前操作的项目。

首次编译会耗费较长时间,后续编译则会比Arduino IDE快很多,提升开发效率。

  1. 串口监视器

主界面下方的工具栏的插头图标可以打开串口监视器,因为代码中有串口信息打印,我们可以看到收到的关于LED开关的信息。再次点击,则会断开串口连接。

  1. 在PlatformIO IDE 中安装库

如果需要在 PlatformIOIDE 中安装支持库。单击主页图标转到 PlatformIO 主页。单击左侧栏中的库图标。搜索要安装的库。例如wifimanager。首次运行仍可能需要等待较长的时间,点击列表中的第一个匹配结果。

选择库的版本,并安装到指定项目。

同样的问题,首次运行需要等待较长时间,选择安装到的项目后确定。

安装完毕后,可以在项目的配置文件中看到lib_deps= tzapu/WiFiManager@^0.16.0,如果安装了多个库,则可以在这里看到多行的结果。

要在OLED12864显示器上显示中文,需要使用相应的字库和库文件。以下是使用platformio和Arduino IDE的步骤: 1. 安装OLED12864库 在platformio中,在项目文件夹的platformio.ini文件中添加以下依赖项: ``` [env:your_environment] platform = atmelavr board = your_board framework = arduino lib_deps = U8g2 ``` 在Arduino IDE中,打开“库管理器”并搜索“U8g2”。然后安装U8g2库。 2. 下载中文字库 中文字库可以从U8g2库的GitHub页面下载。下载后,将字库文件(.c和.h文件)添加到您的项目文件夹中。 3. 编写代码 在您的Arduino代码中,包含U8g2库和字库文件: ``` #include <U8g2lib.h> #include "your_font_file_name.c" // 包含中文字库文件 U8G2_SSD1306_128X64_NONAME_F_4W_SW_SPI u8g2(U8G2_R0, /* clock=*/ 2, /* data=*/ 3, /* cs=*/ 4, /* dc=*/ 5, /* reset=*/ 6); void setup() { u8g2.begin(); u8g2.setFont(your_font_name); // 设置字体 } void loop() { u8g2.firstPage(); do { u8g2.drawStr(0, 10, "你好世界!"); // 显示中文字符串 } while (u8g2.nextPage()); } ``` 在上述代码中,我们使用U8g2库中的SSD1306 OLED显示器驱动程序。在设置字体时,我们将中文字库文件的名称传递给setFont()函数。在loop()函数中,我们使用drawStr()函数显示中文字符串。 4. 编译和上传 在platformio中,您可以使用命令行工具或IDE中的按钮来编译和上传代码。在Arduino IDE中,您可以选择正确的端口和板,然后单击上传按钮。 如果一切顺利,您应该能够在OLED12864显示器上看到中文字符串。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盐池虾

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值