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,如果安装了多个库,则可以在这里看到多行的结果。

  • 1
    点赞
  • 24
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
要在 Visual Studio Code 中使用 PlatformIO IDE 和 Arduino ESP32 来控制淘晶驰触摸屏 TJC8048X543 并绘制正弦波形,需要进行以下步骤: 1. 安装 PlatformIO IDE 和 ESP32 开发环境。 2. 连接 ESP32 和 TJC8048X543 触摸屏,可以参考官方文档或者其他教程。 3. 在 PlatformIO IDE 中创建一个新的项目。 4. 在 platformio.ini 文件中添加 ESP32 的开发板支持和 TFT_eSPI 库的依赖,例如: ``` [env:esp32dev] platform = espressif32 board = esp32dev framework = arduino lib_deps = Adafruit GFX Library TFT_eSPI ``` 5. 在 src 目录中创建一个新的文件,例如 main.cpp。 6. 在代码中引入 TFT_eSPI 库和 Adafruit_GFX 库,这些库可以通过 platformio.ini 文件中的依赖自动安装。 7. 在代码中定义波形参数和屏幕尺寸。 8. 在 setup() 函数中初始化 TFT_eSPI 库和屏幕。 9. 在 loop() 函数中绘制正弦波形,可以使用 sine() 函数计算正弦值,再将坐标映射到屏幕上。 10. 上传代码到 ESP32,观察屏幕上的正弦波形。 以下是一个简单的代码示例,可以根据自己的需求进行修改: ```c++ #include <TFT_eSPI.h> #include <Adafruit_GFX.h> #define SCREEN_WIDTH 480 #define SCREEN_HEIGHT 800 TFT_eSPI tft = TFT_eSPI(); void setup() { tft.begin(); tft.setRotation(1); tft.fillScreen(TFT_BLACK); } void loop() { float x, y; int i; int sineWave[SCREEN_WIDTH]; for (i = 0; i < SCREEN_WIDTH; i++) { x = (float)i / SCREEN_WIDTH * 2 * PI; y = sin(x); sineWave[i] = (int)((y + 1) / 2 * SCREEN_HEIGHT); } tft.fillScreen(TFT_BLACK); for (i = 0; i < SCREEN_WIDTH - 1; i++) { tft.drawLine(i, sineWave[i], i + 1, sineWave[i + 1], TFT_WHITE); } delay(10); } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

盐池虾

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

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

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

打赏作者

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

抵扣说明:

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

余额充值