1-1-基于Arduino的ESP32基本开发流程
如果手头没有开发板,可以使用 Wokwi 进行仿真。
Arduino
- Arduino
- C/C++语言编写的Arduino核心库
- 集合各种API应用程序接口
- 二次封装
- 更容易被理解
- 可读性
- 提高编程效率
例如:向
ESP32的GPIO14引脚输出高电平
pinMode(14,OUTPUT);//将GPIO14引脚设置为输出模式
digitalWrite(14,HIGH);//向GPIO14引脚输出高电平
Arduino程序结构
- 没有
main()函数- 将
main()函数定义隐含在Arduino核心库之中
- 将
- 基本结构有
setup()和loop()函数setup()函数- 用于硬件初始化设置
- 复位后,首先执行
setup()函数,而且只执行一次
setup()函数- 死循环函数,类似于
while(1) - 在
setup()函数执行完毕后开始执行
- 死循环函数,类似于
VSCode+PlatformlO开发环境

实训项目:PIO环境下基于Arduino的ESP32开发流程
设计要求
编写Arduino程序,在蓝蜻蜓ESP32物联网开发平台上,完成以下的功能:
- 在
PlatformIO环境中新建基于Arduino的ESP32工程项目。 - 清除多余的代码,保留Arduino程序基本框架,即
setup()和loop()函数。 - 编写程序,控制
GPIO14引脚循环间隔输出高低电平,实现D3灯的循环闪烁。 - 接上
ESP32开发板,编译程序,下载代码并运行。

程序设计



- 工程名称
- 开发板类型
- 编程框架
- 代码存放地址
引用自:使用下一代的嵌入式IDE-PlatformIO 教程 作者:jiladahe1997 于 2020-09-02 发布
- Name: 项目名称
- Board:硬件平台,Generic代表裸板,其他的可选择STM3210C-EVAL这样的官方开发板。对于官方开发板,有些是板上自带的st-link或者是针对arduino的开发板,如果选择了的话,会自动帮你选择对应的st-link或者arduino框架
- Framework:编程框架。 例如STM32HAL库、标准库、ARM CMSIS库等。
- Location:项目位置。
#include <Arduino.h>
void setup()
{
pinMode(14,OUTPUT);
}
void loop()
{
digitalWrite(14,HIGH);
delay(500);
digitalWrite(14,LOW);
delay(500);
}
程序解析
Powered By Kimi https://kimi.moonshot.cn/chat/
您提供的代码是一个Arduino编程示例,用于控制连接到数字引脚14的LED灯或其他数字输出设备。以下是代码的中文解释:
#include <Arduino.h>:这行代码包含了Arduino库,这个库提供了与硬件交互的函数和常量。void setup():这是Arduino启动时首先执行的函数,用于初始化Arduino的输入输出引脚。pinMode(14, OUTPUT);:将数字引脚14设置为输出模式。pinMode函数接受两个参数:引脚编号和模式(INPUT输入或OUTPUT输出)。void loop():这是Arduino主循环函数,在setup()函数执行完成后,会不断重复执行此函数内的代码。digitalWrite(14, HIGH);:将数字引脚14的状态设置为高电平,如果连接了LED,这将点亮它。delay(500);:暂停代码执行500毫秒(半秒)。这会在LED点亮和熄灭之间创建一个延迟。digitalWrite(14, LOW);:将数字引脚14的状态设置为低电平,这将关闭LED。delay(500);:再次暂停500毫秒,然后循环会重新开始,LED再次被点亮。
LED灯将以1秒的周期闪烁(亮半秒,灭半秒),因为loop()函数会无限重复这个序列。如果您想改变闪烁速率,可以调整delay函数中的数值。
程序烧录

- build
- 编译
- upload
- 编译+烧录(下载)
疑难解答
引用自:ESP32S3SuperMini 入门 无名科技
Q1 Arduino上无法识别Com口
- 进入下载模式:
- 方式1:按住BOOT上电。
- 方式2:按住ESP32S3的BOOT按键,然后按下RESET按键,松开RESET按键,再松开BOOT按键,此时ESP32S3会进入下载模式。(每次连接都需要重新进入下载模式,有时按一遍,端口不稳定会断开,可以通过端口识别声音来判断)

浙公网安备 33010602011771号