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

2024-03-26 15:36

本文主要是介绍Vscode + PlatformIO + Arduino 搭建EPS32开发环境,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

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

文章目录

  • Vscode + PlatformIO + Arduino 搭建EPS32开发环境
    • 1. Vscode插件安装
    • 2. 使用PlatformIO新建工程
    • 3.工程文件的基本结构
    • 4.一个基本的测试用例
    • Reference

1. Vscode插件安装

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

Image

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

Image

安装完毕后重启一下vscode。

2. 使用PlatformIO新建工程

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

Image

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

Image

基本的功能按键如下所示

Image

3.工程文件的基本结构

.pio:该文件夹是 PlatformIO 的工作目录,包含编译生成的二进制文件、日志文件等。
.vscode:如果你在 VSCode 中使用 PlatformIO 插件,该文件夹包含了与项目相关的配置文件,如任务配置、调试配置等。
include:存放头文件。
lib:该文件夹用于存放项目依赖的库文件。你可以通过 PlatformIO 的库管理器安装所需的库,并它们会自动下载到该文件夹。
src:该文件夹是存放源代码的主目录。你的主要代码文件(通常是.cpp.h文件)应放在这个目录下。
test:用于存放项目的测试代码和测试数据。这个目录通常用于编写单元测试或集成测试的代码,用于验证项目的功能和逻辑是否正确。
.gitignore:如果你使用版本控制系统如Git进行项目管理,你可以在这个文件中指定需要忽略的文件和文件夹。
platformio.ini:这是 PlatformIO 的配置文件,用于指定项目的配置选项,如目标硬件平台、编译选项、上传设置等。
在 PlatformIO 创建的项目中,libinclude 目录都是用于存放代码文件的特定目录。它们的区别如下:
lib 目录:用于存放项目的依赖库文件。在这个目录下,可以放置项目需要引用的第三方库或自己编写的库。这些库文件通常是以源代码的形式提供,可以是单个文件或多个文件的集合。在构建过程中,这些库文件会被编译并链接到项目中。
include 目录:用于存放项目的头文件。头文件包含了函数、类、变量的声明,供其他源文件在编译时引用。在这个目录下,可以放置项目自定义的头文件,或者是一些需要被其他文件引用的第三方库的头文件。在编译过程中,编译器会在该目录下查找所需的头文件。总结一下,lib 目录主要用于存放项目的依赖库文件,而 include 目录用于存放项目的头文件。这样的组织结构可以方便地管理项目所需的库文件和头文件,并在构建过程中正确引用和链接它们。
主要的代码,我们可以写在 main.cpp 中,src 目录下的 main.cpp 文件基本等同于 Arduino IDE 中创建的 .ino 文件。
只不过,在 main.cpp 文件的第一行需要 #include <Arduino.h>,其余的代码部分内容一致。

4.一个基本的测试用例

实现,EPS32开发板的LED呼吸灯,这里使用的开发板是ESP32-CAMLED的引脚为4,记得将代码中的引脚改为你自己的开发板的LED引脚。
main.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);// 延时 10msdelay(10);}// 实现渐灭效果for(int i=255;i>=0;i--) {// 设置亮度模拟值analogWrite(LED_PIN, i);// 延时 10msdelay(10);}
}

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

Image

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

Reference

极客侠Geeksman

这篇关于Vscode + PlatformIO + Arduino 搭建EPS32开发环境的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/848969

相关文章

Spring Boot集成/输出/日志级别控制/持久化开发实践

《SpringBoot集成/输出/日志级别控制/持久化开发实践》SpringBoot默认集成Logback,支持灵活日志级别配置(INFO/DEBUG等),输出包含时间戳、级别、类名等信息,并可通过... 目录一、日志概述1.1、Spring Boot日志简介1.2、日志框架与默认配置1.3、日志的核心作用

SpringBoot多环境配置数据读取方式

《SpringBoot多环境配置数据读取方式》SpringBoot通过环境隔离机制,支持properties/yaml/yml多格式配置,结合@Value、Environment和@Configura... 目录一、多环境配置的核心思路二、3种配置文件格式详解2.1 properties格式(传统格式)1.

Python极速搭建局域网文件共享服务器完整指南

《Python极速搭建局域网文件共享服务器完整指南》在办公室或家庭局域网中快速共享文件时,许多人会选择第三方工具或云存储服务,但这些方案往往存在隐私泄露风险或需要复杂配置,下面我们就来看看如何使用Py... 目录一、android基础版:HTTP文件共享的魔法命令1. 一行代码启动HTTP服务器2. 关键参

PyQt5 GUI 开发的基础知识

《PyQt5GUI开发的基础知识》Qt是一个跨平台的C++图形用户界面开发框架,支持GUI和非GUI程序开发,本文介绍了使用PyQt5进行界面开发的基础知识,包括创建简单窗口、常用控件、窗口属性设... 目录简介第一个PyQt程序最常用的三个功能模块控件QPushButton(按钮)控件QLable(纯文本

Go语言编译环境设置教程

《Go语言编译环境设置教程》Go语言支持高并发(goroutine)、自动垃圾回收,编译为跨平台二进制文件,云原生兼容且社区活跃,开发便捷,内置测试与vet工具辅助检测错误,依赖模块化管理,提升开发效... 目录Go语言优势下载 Go  配置编译环境配置 GOPROXYIDE 设置(VS Code)一些基本

基于Python开发一个图像水印批量添加工具

《基于Python开发一个图像水印批量添加工具》在当今数字化内容爆炸式增长的时代,图像版权保护已成为创作者和企业的核心需求,本方案将详细介绍一个基于PythonPIL库的工业级图像水印解决方案,有需要... 目录一、系统架构设计1.1 整体处理流程1.2 类结构设计(扩展版本)二、核心算法深入解析2.1 自

Windows环境下解决Matplotlib中文字体显示问题的详细教程

《Windows环境下解决Matplotlib中文字体显示问题的详细教程》本文详细介绍了在Windows下解决Matplotlib中文显示问题的方法,包括安装字体、更新缓存、配置文件设置及编码調整,并... 目录引言问题分析解决方案详解1. 检查系统已安装字体2. 手动添加中文字体(以SimHei为例)步骤

Java JDK1.8 安装和环境配置教程详解

《JavaJDK1.8安装和环境配置教程详解》文章简要介绍了JDK1.8的安装流程,包括官网下载对应系统版本、安装时选择非系统盘路径、配置JAVA_HOME、CLASSPATH和Path环境变量,... 目录1.下载JDK2.安装JDK3.配置环境变量4.检验JDK官网下载地址:Java Downloads

SQLite3 在嵌入式C环境中存储音频/视频文件的最优方案

《SQLite3在嵌入式C环境中存储音频/视频文件的最优方案》本文探讨了SQLite3在嵌入式C环境中存储音视频文件的优化方案,推荐采用文件路径存储结合元数据管理,兼顾效率与资源限制,小文件可使用B... 目录SQLite3 在嵌入式C环境中存储音频/视频文件的专业方案一、存储策略选择1. 直接存储 vs

SpringBoot开发中十大常见陷阱深度解析与避坑指南

《SpringBoot开发中十大常见陷阱深度解析与避坑指南》在SpringBoot的开发过程中,即使是经验丰富的开发者也难免会遇到各种棘手的问题,本文将针对SpringBoot开发中十大常见的“坑... 目录引言一、配置总出错?是不是同时用了.properties和.yml?二、换个位置配置就失效?搞清楚加