PlatformIO 入门学习笔记(二):开发环境介绍
PlatformIO 入门学习笔记(二):开发环境介绍
外文参考链接:link
本文主要介绍在Visual Studio Code平台下搭建PlatformIO开发环境。
Visual Studio Code 是一款轻量级但功能强大的源代码编辑器,可在桌面上运行,并且适用于 Windows、macOS 和 Linux 系统。它自带对 JavaScript、TypeScript 和 Node.js 的支持,并且拥有丰富的扩展生态系统,适用于其他语言(如 C++、C#、Python、PHP、Go)和运行时环境(如 .NET 和 Unity)。
1. 下载安装
请注意,如果您打算使用适用于 VSCode 的 PlatformIO IDE,无需单独安装 PlatformIO Core(命令行界面)。PlatformIO Core(命令行界面)已内置于 PlatformIO IDE 中,您可以在 PlatformIO IDE 终端中使用它。
Git:如果您打算使用 Git 来安装上游开发平台、克隆外部项目、从存储库安装库依赖项,请确保在系统终端中执行 git --version 命令时一切正常。否则,请安装一个 Git 客户端。
Linux 用户:为了确保使用 PlatformIO 时能获得顺畅的体验,您的系统中必须安装 python3-venv 这个软件包。
安装流程:
- 下载并安装微软官方的 Visual Studio Code 编辑器。PlatformIO IDE 是基于此编辑器构建的
- 打开 VSCode 扩展管理器
- 搜索官方的 PlatformIO IDE 扩展程序
- 安装 PlatformIO IDE
2. 快速入门
本教程将向您介绍 PlatformIO IDE 工作流程的基础知识,并展示一个简单的“闪烁灯”示例的创建过程。完成本教程后,您将对在该 IDE 中处理项目的基本操作有一个大致的了解。
2.1 新建项目
- 点击底部 PlatformIO 工具栏上的“PlatformIO Home”按钮
- 点击“新建项目”,选择一个板子并创建新的 PlatformIO 项目。
这里采用的是正点原子开发板ESP32S3( ESP32S3-WOODN16R8 ),因此选择如图所示的开发板选项(如果使用其他开发板,则需要选择相应的开发板选项):
- 打开位于“src”文件夹中的 main.cpp 文件,并将其内容替换为以下内容:
注意:下面这段代码仅能在基于正点原子ESP32S3 的开发板上运行。如果使用其他开发板,则需要根据根据硬件设计修改相关代码。
#include <Arduino.h>#define LED_BUILTIN 1void setup() {// put your setup code here, to run once:pinMode(LED_BUILTIN, OUTPUT);
}void loop() {// turn the LED on (HIGH is the voltage level)digitalWrite(LED_BUILTIN, HIGH);// wait for a seconddelay(1000);// turn the LED off by making the voltage LOWdigitalWrite(LED_BUILTIN, LOW);// wait for a seconddelay(1000);
}
- 使用快捷键 Ctrl + Alt + B 构建您的项目(请参阅“用户指南”部分中的所有按键绑定)或者使用 PlatformIO 工具栏上的“构建”按钮进行构建操作,点击上传无需配置COM口,PlatformIO会自动匹配设备。
3 PlatformIO 工具栏
PlatformIO IDE 工具栏位于 VSCode 状态栏(左下角)处,并包含常用命令的快速访问按钮。每个按钮上都有提示信息(鼠标悬停在按钮上即可查看)。
- PlatformIO Home
- PlatformIO Build
- PlatformIO Upload
- PlatformIO Clean
- 串口监视器
- PlatformIO Core (CLI)
- 项目环境切换器(如果有多个环境可用)
4. PlatformIO Core
有两种方式可以访问 PlatformIO Core(命令行界面)
-
PlatformIO 工具栏上的“终端”图标
-
左侧活动栏 > PlatformIO(带有图标“ant”的部分) > 快捷访问 > 其他 > PlatformIO 核心命令行工具
5. 项目任务
5.1 任务浏览器
PlatformIO 提供了“项目任务”访问权限,您可以通过该项目任务来控制在“platformio.ini”(项目配置文件)中声明的环境的构建过程。项目任务资源管理器位于 VSCode 活动栏中带有品牌标识的 PlatformIO 图标下方。您还可以通过“VSCode 菜单 > 打开视图… > PlatformIO”来访问它。
5.2 任务调度器
PlatformIO IDE 通过菜单栏“终端 > 运行任务…”(构建、上传、清理、监控等)提供了内置任务,并且可以根据“platformio.ini”(项目配置文件)环境([env:***])定义自定义任务。默认情况下,会使用终端面板进行展示,每个面板对应一个独特的任务。
PlatformIO IDE 提供了一个名为 $platformio 的自身问题匹配器。如果您决定更改基础任务设置,之后可以使用它。您可以使用自己的展示选项来覆盖现有的任务。
6. 自定义任务
请声明自定义目标并刷新任务资源管理器:
7. 多项目工作区
在 Visual Studio Code 中,您可以使用多根工作区功能处理多个项目文件夹。当您同时处理多个相关项目时,这会非常有用。
8. 串行和 UDP 图表
9. 串口监视器
您可以通过在“platformio.ini”(项目配置文件)中的“Monitor options”选项中对串口监视器进行自定义设置:
- 监控端口
- 监测速度
- parity 监控器
- 监控过滤器
- 监控(或监测)请求超时(或超时)状态
- 监控 DTR (数据传输速率)
- monitor_eol 的翻译为“监控器(或监视器)到期”或“
- monitor_raw(这个单词本身并没有直接对应的中文意思,可能是某个特定系统
- 监测回声
例如:
[env:esp32dev]
platform = platformio/espressif32
framework = arduino
board = esp32dev; Custom Serial Monitor port
monitor_port = /dev/ttyUSB1; Custom Serial Monitor speed (baud rate)
monitor_speed = 115200
10. 调试
在 VSCode 中进行调试是与调试功能相结合使用的。您需要拥有 PlatformIO 账户才能使用它。
VSCode 设有独立的活动视图,名为“调试”(可通过左侧工具栏上的调试图标访问)。调试功能为其增添了更多高级调试工具和特性:
- 局部变量、全局变量和静态变量探索器
- 条件断点
- 表达式与观察点
- 通用寄存器
- 外围寄存器
- 内存查看器
- 分解
- 多线程支持
- 调试时热重启
有两种预先配置好的调试配置:
PIO Debug:默认配置。PlatformIO 执行预调试任务,并使用调试配置来构建项目。此外,它还会检查项目是否有更改。
PIO Debug (skip Pre-Debug):PlatformIO 忽略预调试阶段,并且不会对项目进行构建或检查是否有更改。如果您在项目源文件中进行了更改,那么这些更改在调试会话中不会立即生效,除非您切换回“PIO 调试”配置或者手动运行“预调试”任务。这种配置对于快速调试会话非常有用。它通过跳过若干检查而变得超级快速,让您能够手动控制项目变更。
注意:如果未指定 default_envs 选项,Debugging 将会使用“platformio.ini”(项目配置文件)中首次声明的构建环境。
11. 变量格式
目前,VSCode 并未提供用于更改变量格式的用户界面或 API。
一种临时的解决办法是设置调试器在“调试控制台”中显示数值输出所依据的默认数值基数。 (在进行调试操作时,“调试控制台”是可见的)。例如,若要以十六进制格式显示变量,请复制以下代码并将其粘贴到“调试控制台”中:
set output-radix 16
可能的数值(以十进制表示)为:8、10、16。
12. 观测点
目前,VSCode 并未提供用于更改监视点值格式的 API。您可以手动将监视点表达式转换为特定指针类型,以显示其值:
- $pc,默认十进制整数格式
- *0x10012000,一个地址,默认十进制整数格式
- (void)* p c , pc , pc,pc 寄存器,十六进制格式
- (void**)0x10012000,一个地址,十六进制格式
13. 安装 Shell 命令
14. 代理服务器支持
有两种方式可以配置代理服务器:
- 打开 VSCode 设置并搜索“代理”。请设置“HTTP: 代理”并禁用“HTTP: 严格 SSL 代理”。
- 配置 PlatformIO 核心代理配置。
15. 快捷键
- Ctrl + Alt + B / Command + Shift + B / Ctrl + Shift + B 构建项目
- cmd-shift-d / ctrl-shift-d 调试项目
- Ctrl + Alt + U 上传固件
- Ctrl + Alt + S 打开串行端口监视器
在 VSCode 中,您可以覆盖现有的快捷键绑定或者添加新的绑定。有关 Visual Studio Code 快捷键绑定的相关信息,请参阅官方文档中的“快捷键绑定”。
16. 设置
platformio-ide.activateProjectOnTextEditorChange
根据打开的活动文本编辑器自动激活项目。默认值为“否”。
platformio-ide.autoOpenPlatformIOIniFile
当没有其他编辑器打开时,会自动从项目中打开“platformio.ini”(项目配置文件)文件。默认值为“真”。
platformio-ide.autoCloseSerialMonitor
如果为真,则在上传/测试之前自动关闭 PIO 设备监视器。默认值为真。
等等等