Esp32s3 Vscode Platformio Arduino Freertos开发入门指南 基于arduino框架的应用开发全流程

Emily Johnson
-
esp32s3 vscode platformio arduino freertos开发入门指南 基于arduino框架的应用开发全流程

These are practice examples for ESP32 FreeRTOS with VS Code and PlatformIO, using the Arduino Framework. What is FreeRTOS? It's a Free Real Time Operating System for embedded devices written in C++. The ESP32 uses a modified version which can perform Symmetrical Multicore Processing (SMP). The ESP32 specific version is referred to as ESP-IDF (IoT Development Framework) and has some extra custom API Functions. Read the Vanilla FreeRTOS Documentation.

前提说明,本文是基于【2023年最新 ESP32 Arduino 教程(持续更新中)】写的,如果本文没看懂可以去看这个视频。 首先下载vscode(网上自行搜索),打开vscode后,在插件中搜索platformio并点击下载,下图是操作步骤(第一次安装可能会很慢,请耐心等待)。 如果可以的话,可以安装一个串口监视器Serial monitor,之后会用到。 安装完platformio之后,应该会在左侧出现一个特殊的图标,点进图标,再点击"PIO Home"下的"Open",进入主页界面,再点击"New projects"进行创建项目。 点击之后,项目配置如下: 点击右下角蓝色的“Finish”按钮,等待一会后,就可以创建成功了。 由于我们要做的只是一些简单的演示,故只要在src文件夹下编写main.cpp的代码就可以了。下面为main.cpp的图片(你们刚打开main.cpp时里面可能长的和我的不一样,但仔细看代码结构是一样的) 可以看到左下角有一个“”按键,表示编译;有个“”按键,表示烧录代码;最右边的写着“Auto”的按键可以自动检测COM端口。接下来我们就可以开始愉快地编写代码了。 一块普通的ESP32板长这样。 最关键的是其两侧的引脚(34个GPIO口),你可以发现每个引脚上都有唯一的字母和数字的组合,例如“3V3”,“GND”,“D12”等。其中3V3和VIN指的分别是电压为3.3V和5V的正极,而GND指的是阴极(接地),其余的则可以通过我们在vscode上编写的代码控制它们的输入或者输出模式,以及输出高电平或者低电平,那么我们在进行实验时,除了正极和负极之外这些引脚是否可以随便接呢?答案是否定的,有的时候必须接到对应的引脚上,每一个引脚都有其对应的作用,如下图,比如其中的22和21引脚就是esp32中的L2C通信接口。 一块普通的面包板长这样 其中的小孔可以用来插入导线或者引脚,其旁边还有凹凸槽,可以用来和其他面包板拼接组成更大的面包板。 而其中的电路连接长这样 中间的小孔,以图中红色的线条(横向)相互连通,两侧的小孔,以图中的红色线条(竖向)相互连通。加入正负极以及电阻等部件,可以组成一个电路(回忆高中物理知识),这样子我们只需要插入或者拔出导线和引脚就可以组成电路,而不用去做焊接等一系列工作,简化了我们的开发流程。 在platformio的开发中,Serial可以设置串口波特率以及向外发送消息 例如以下代码中,程序会在9600波特率中每隔1s向外发送一个“hello world”。 本文将详细介绍基于Arduino框架进行ESP32应用开发的完整流程,从开发环境搭建到代码编写、编译与烧录,全面讲解每一个步骤,让零基础的朋友也能轻松入门ESP32开发。通过实际案例演示,帮助大家快速掌握ESP32开发的核心要点。

Arduino并不是一种具体的编程语言,而是一种编程环境或框架。它本质上是由C/C++混合语言编写的面向硬件的核心库,为开发者提供了各种与硬件交互的API接口,这些API接口的集合构成了Arduino编程框架。 Arduino框架最大的优势在于它对底层硬件操作进行了二次封装,将复杂的寄存器设置和硬件控制抽象为简单易用的函数接口。这使得即使没有深厚的单片机基础或硬件电路知识,也能够快速上手进行硬件控制和开发。 让我们通过一个简单的GPIO控制例子来对比Arduino与传统单片机开发的差异: 通过上面的对比可以看出,Arduino代码简洁明了,即使没有硬件基础的开发者也能一目了然。这极大地降低了硬件开发的门槛,提高了开发效率。 我们已经学会了 Arduino IDE 的基本使用了,这节课,我们来学习使用另一款软件进行 Arduino 开发,他就是 PlatformIO。 PlatformIO 是一个开源的跨平台的物联网(IoT)开发平台,用于嵌入式系统和物联网设备的开发。它提供了一个统一的开发环境和工具链,支持多种硬件平台(如 Arduino、ESP8266、ESP32、Raspberry Pi 等)和开发框架(如 Arduino 框架、ESP-IDF、STM32Cube等),使开发者可以更轻松地进行嵌入式开发。

使用 PlatformIO 可以简化嵌入式开发的流程,提高开发效率,并使项目更易于管理和维护。无论是初学者还是有经验的嵌入式开发者,都可以受益于 PlatformIO 提供的功能和工具。 PlatformIO 只是一个插件,因此,我们需要先选择一个 IDE,在 IDE 中安装 PlatformIO 插件,这里我推荐一下两种:VSCode 与 Clion。具体该怎么选择呢? 前往 VSCode 官网 ,建议下载 System Installer 版本的安装包,该版本安装在非用户目录,例如 C 盘根目录。 PlatformIO 是一个跨平台的物联网开发生态系统,专门为嵌入式系统开发设计,支持多种开发板和框架。 入门第一课就是被网络问题难到…介绍插件主要包含哪些内容,在什么时候会用到然后下载, 可以自行选择魔法上网,或是找别人已经下载好的文件丢进去。 离线安装推荐教程:Arduino IDE太难用?5分钟"离线"安装PlatformIO,无需等待,编程体验原地起飞 在线安装推荐教程:Arduino不好用?极速安装Platformio,尽享vscode丝滑

PlatformIO项目配置文件: PlatformIO Project Configuration File 推荐笔记:platformIO 自定义板子方法 你提供的 sad_him.json 文件片段是一个典型的 ESP32-S3 开发板的硬件标识配置,我来解析关键信息: platformio现有的板子库里面没有ESP32-S3-N16R8(8MB PSRAM + 16MB FLASH)的开发板模型,直接强行套用,要么就是解锁不了8MB PSRAM,要么就下载后运行不起来。但是Arduino可以正常解锁。 先选用esp32-s3-devkitc-1作为开发板模型,在它的基础上做额外的修改: 没找到ESP32-S3(8MB PSRAM + 16MB FLASH)的开发板模型,就随便ESP32-S3的其他模型,有几个能正常运行,但是没有解锁PSRAM; 好不容易发现几个标了2MB PSRAM字样的开发板模型,但是运行不起来;网上搜才知道2MB PSRAM运行模式是Quad SPI,而8MB PSRAM的运行模式是Octal SPI,两个完全不一样,肯定会运行失败;

官方的platformio.ini指导说明里面没有说明怎么选PSRAM运行模式,只能看看那些标了2MB PSRAM字样的开发板模型是怎么做;全局搜索跟开发板名称相同的文件,看是不是有什么配置文件来控制这些参数:

People Also Search

These Are Practice Examples For ESP32 FreeRTOS With VS Code

These are practice examples for ESP32 FreeRTOS with VS Code and PlatformIO, using the Arduino Framework. What is FreeRTOS? It's a Free Real Time Operating System for embedded devices written in C++. The ESP32 uses a modified version which can perform Symmetrical Multicore Processing (SMP). The ESP32 specific version is referred to as ESP-IDF (IoT Development Framework) and has some extra custom AP...

前提说明,本文是基于【2023年最新 ESP32 Arduino 教程(持续更新中)】写的,如果本文没看懂可以去看这个视频。 首先下载vscode(网上自行搜索),打开vscode后,在插件中搜索platformio并点击下载,下图是操作步骤(第一次安装可能会很慢,请耐心等待)。 如果可以的话,可以安装一个串口监视器Serial Monitor,之后会用到。 安装完platformio之后,应该会在左侧出现一个特殊的图标,点进图标,再点击"PIO Home"下的"Open",进入主页界面,再点击"New Projects"进行创建项目。

前提说明,本文是基于【2023年最新 ESP32 Arduino 教程(持续更新中)】写的,如果本文没看懂可以去看这个视频。 首先下载vscode(网上自行搜索),打开vscode后,在插件中搜索platformio并点击下载,下图是操作步骤(第一次安装可能会很慢,请耐心等待)。 如果可以的话,可以安装一个串口监视器Serial monitor,之后会用到。 安装完platformio之后,应该会在左侧出现一个特殊的图标,点进图标,再点击"PIO Home"下的"Open",进入主页界面,再点击"New projects"进行创建项目。 点击之后,项目配置如下: 点击右下角蓝色的“Finish”按钮,等待一会后,就可以创建成功了。 由于我们要做的只是一些简单的演示,故只要在src文件夹下编写main.cpp的代码就可以了。下面为main.cpp的图片(你们刚打开main.cpp时里面可能长...

Arduino并不是一种具体的编程语言,而是一种编程环境或框架。它本质上是由C/C++混合语言编写的面向硬件的核心库,为开发者提供了各种与硬件交互的API接口,这些API接口的集合构成了Arduino编程框架。 Arduino框架最大的优势在于它对底层硬件操作进行了二次封装,将复杂的寄存器设置和硬件控制抽象为简单易用的函数接口。这使得即使没有深厚的单片机基础或硬件电路知识,也能够快速上手进行硬件控制和开发。 让我们通过一个简单的GPIO控制例子来对比Arduino与传统单片机开发的差异: 通过上面的对比可以看出,Arduino代码简洁明了,即使没有硬件基础的开发者也能一目了然。这极大地降低了硬件开发的门槛,提高了开发效率。 我们已经学会了 Arduino IDE 的基本使用了,这节课,我们来学习使用另一款软件进行 Arduino 开发,他就是

Arduino并不是一种具体的编程语言,而是一种编程环境或框架。它本质上是由C/C++混合语言编写的面向硬件的核心库,为开发者提供了各种与硬件交互的API接口,这些API接口的集合构成了Arduino编程框架。 Arduino框架最大的优势在于它对底层硬件操作进行了二次封装,将复杂的寄存器设置和硬件控制抽象为简单易用的函数接口。这使得即使没有深厚的单片机基础或硬件电路知识,也能够快速上手进行硬件控制和开发。 让我们通过一个简单的GPIO控制例子来对比Arduino与传统单片机开发的差异: 通过上面的对比可以看出,Arduino代码简洁明了,即使没有硬件基础的开发者也能一目了然。这极大地降低了硬件开发的门槛,提高了开发效率。 我们已经学会了 Arduino IDE 的基本使用了,这节课,我们来学习使用另一款软件进行 Arduino 开发,他就是 PlatformIO。 PlatformIO ...

使用 PlatformIO 可以简化嵌入式开发的流程,提高开发效率,并使项目更易于管理和维护。无论是初学者还是有经验的嵌入式开发者,都可以受益于 PlatformIO 提供的功能和工具。 PlatformIO 只是一个插件,因此,我们需要先选择一个 IDE,在 IDE 中安装

使用 PlatformIO 可以简化嵌入式开发的流程,提高开发效率,并使项目更易于管理和维护。无论是初学者还是有经验的嵌入式开发者,都可以受益于 PlatformIO 提供的功能和工具。 PlatformIO 只是一个插件,因此,我们需要先选择一个 IDE,在 IDE 中安装 PlatformIO 插件,这里我推荐一下两种:VSCode 与 Clion。具体该怎么选择呢? 前往 VSCode 官网 ,建议下载 System Installer 版本的安装包,该版本安装在非用户目录,例如 C 盘根目录。 PlatformIO 是一个跨平台的物联网开发生态系统,专门为嵌入式系统开发设计,支持多种开发板和框架。 入门第一课就是被网络问题难到…介绍插件主要包含哪些内容,在什么时候会用到然后下载, 可以自行选择魔法上网,或是找别人已经下载好的文件丢进去。 离线安装推荐教程:Arduino IDE太难...

PlatformIO项目配置文件: PlatformIO Project Configuration File 推荐笔记:platformIO 自定义板子方法 你提供的 Sad_him.json 文件片段是一个典型的

PlatformIO项目配置文件: PlatformIO Project Configuration File 推荐笔记:platformIO 自定义板子方法 你提供的 sad_him.json 文件片段是一个典型的 ESP32-S3 开发板的硬件标识配置,我来解析关键信息: platformio现有的板子库里面没有ESP32-S3-N16R8(8MB PSRAM + 16MB FLASH)的开发板模型,直接强行套用,要么就是解锁不了8MB PSRAM,要么就下载后运行不起来。但是Arduino可以正常解锁。 先选用esp32-s3-devkitc-1作为开发板模型,在它的基础上做额外的修改: 没找到ESP32-S3(8MB PSRAM + 16MB FLASH)的开发板模型,就随便ESP32-S3的其他模型,有几个能正常运行,但是没有解锁PSRAM; 好不容易发现几个标了2MB PSRA...