Vscode + PlatformIO + Arduino 搭建EPS32开发环境

Vscode + PlatformIO + Arduino 搭建EPS32开发环境

文章目录

1. Vscode插件安装

如何下载vscode这里不再赘述,完成基本的安装即可。使用vscode的时候我们需要安装 一些插件,比如ESP-IDE和PlatformIO IDE,首先在插件一栏中搜索ESP-IDE,如图所示

直接安装即可,然后搜索PlatformIO IDE,如图所示

安装完毕后重启一下vscode。

2. 使用PlatformIO新建工程

在PlatformIO的PIO Home中找到新建工程New Project的选项,如图所示

然后进入下图,新建一个自己的工程

基本的功能按键如下所示

3.工程文件的基本结构

.pio:该文件夹是 PlatformIO 的工作目录,包含编译生成的二进制文件、日志文件等。
.vscode:如果你在 VSCode 中使用 PlatformIO 插件,该文件夹包含了与项目相关的配置文件,如任务配置、调试配置等。
include:存放头文件。
lib:该文件夹用于存放项目依赖的库文件。你可以通过 PlatformIO 的库管理器安装所需的库,并它们会自动下载到该文件夹。
src:该文件夹是存放源代码的主目录。你的主要代码文件(通常是.cpp和.h文件)应放在这个目录下。
test:用于存放项目的测试代码和测试数据。这个目录通常用于编写单元测试或集成测试的代码,用于验证项目的功能和逻辑是否正确。
.gitignore:如果你使用版本控制系统如Git进行项目管理,你可以在这个文件中指定需要忽略的文件和文件夹。
platformio.ini:这是 PlatformIO 的配置文件,用于指定项目的配置选项,如目标硬件平台、编译选项、上传设置等。

在 PlatformIO 创建的项目中,lib 和 include 目录都是用于存放代码文件的特定目录。它们的区别如下:
lib 目录:用于存放项目的依赖库文件。在这个目录下,可以放置项目需要引用的第三方库或自己编写的库。这些库文件通常是以源代码的形式提供,可以是单个文件或多个文件的集合。在构建过程中,这些库文件会被编译并链接到项目中。
include 目录:用于存放项目的头文件。头文件包含了函数、类、变量的声明,供其他源文件在编译时引用。在这个目录下,可以放置项目自定义的头文件,或者是一些需要被其他文件引用的第三方库的头文件。在编译过程中,编译器会在该目录下查找所需的头文件。总结一下,lib 目录主要用于存放项目的依赖库文件,而 include 目录用于存放项目的头文件。这样的组织结构可以方便地管理项目所需的库文件和头文件,并在构建过程中正确引用和链接它们。

主要的代码,我们可以写在 main.cpp 中,src 目录下的 main.cpp 文件基本等同于 Arduino IDE 中创建的 .ino 文件。

只不过,在 main.cpp 文件的第一行需要 #include <Arduino.h>,其余的代码部分内容一致。

4.一个基本的测试用例

实现,EPS32开发板的LED呼吸灯,这里使用的开发板是ESP32-CAM,LED的引脚为4,记得将代码中的引脚改为你自己的开发板的LED引脚。
main.cpp文件内容如下:

cpp 复制代码
#include <Arduino.h>
// 宏定义 GPIO 输出引脚
#define LED_PIN   4			// 更改为你的LED引脚

void setup() {
  // 配置 GPIO 输出引脚
  pinMode(LED_PIN, OUTPUT);

}

void loop() {
  // 实现渐亮效果
  for(int i=0;i<256;i++) {
    // 设置亮度模拟值
    analogWrite(LED_PIN, i);
    // 延时 10ms
    delay(10);
    }
  // 实现渐灭效果
  for(int i=255;i>=0;i--) {
    // 设置亮度模拟值
    analogWrite(LED_PIN, i);
    // 延时 10ms
    delay(10);
    }
}

直接进行烧录即可。烧录的结果如下:

烧录完毕后,可以看到LED在呼吸闪烁。

Reference

极客侠Geeksman

相关推荐
初雪云2 小时前
UniApp 云打包拿到 IPA 后,真正的发布工作才刚开始
ios·自动化·编辑器·产品经理·iphone
慧都小项3 小时前
组件改名,引用同步更新:WebStorm的重构能力用在哪里?
ide·重构·webstorm
幸运小圣1 天前
Buffer 新手入门【Node.js】
node.js·编辑器·vim
*wait for?1 天前
VScode使用uv-创建python虚拟环境
ide·vscode·编辑器
lzx_0021 天前
Linux 开发工具(二) 简单认识一下编辑器 —— vim
linux·编辑器·vim
意法半导体STM321 天前
【官方原创】LAT1724 STM32CubeIDE for VSCode 修改链接文件中的起始地址无效?
vscode·stm32·单片机·嵌入式硬件·mcu·stm32cube
超级大福宝2 天前
VS Code Remote-SSH 因 RemoteForward 端口冲突导致连接失败的排查与解决
运维·服务器·windows·vscode·ssh
MandalaO_O3 天前
IDEA 开发(快捷键 + 调试 + 序列化)
java·ide·intellij-idea
golang学习记3 天前
VSCode AI完成任务的仪式感:撒礼花
ide·vscode·编辑器
菜_小_白4 天前
codex
linux·vscode·ai