1-2 第一个ESP32程序

前言:


创建第一个ESP32程序


1.0 项目创建




项目创建成功后展示


2.0 安装CH340驱动


注:CH340驱动可以重复安装,点击下方链接下载驱动

点击这里下载CH340驱动

2.0.1 安装驱动
2.0.2 连接开发板

拿出我们的ESP32开发板,使用TypeC数据线将其与电脑连接

2.0.3 打开设备管理器

如果在设备管理器的端口(COM和LPT)类目下,能够看到如下图所示的设备,即表示开发板能够被电脑正确识别(设备名带有CH340标识),这里需要大家注意,设备名上的COM3就是咱们开发板的串口标识,这个标识在后续烧录程序的时候会用到。如果没看到设备列表,说明可能驱动安装有问题,请尝试卸载重装再试。

注:CH340驱动要和自己芯片开发版的驱动对应,不同的驱动芯片需要安装不同的驱动


3.0 编写程序


复制下面提供的代码,粘贴到VSCode项目中的src/main.cpp文件

cpp 复制代码
#include <Arduino.h>

#define LED_PIN 2

void setup()
{
  pinMode(LED_PIN, OUTPUT);
}

void loop()
{
  digitalWrite(LED_PIN, HIGH);
  delay(1000);
  digitalWrite(LED_PIN, LOW);
  delay(1000);
}

4.0 编译程序


点击一下按键编译烧录上传一次性完成

经过上面的步骤,一个简单的程序已经编写好了,接下来我们需要将程序(固件)上传(这个过程俗称烧录)到ESP32开发板。单片机开发和电脑程序开发有一个非常不同的点:电脑程序是在电脑上开发,电脑上运行,而单片机开发是电脑上开发,开发板上运行,所以编写好的代码需要通过数据线上传到开发板,才能运行。


5.0 烧录程序


先点击最下方的插头图标,点击后在最上方会出现设备列表,在这个列表中我们可以选择Auto,表示由软件自己自动化探测开发板,或者直接手动指定特定的设备,列表中的COM3就是之前在电脑设备管理器上看到的串口名称。

以上选中对应的端口号即可


6.0 上传程序


6.0.1 第一种上传方式
6.0.2 第二种上传方式

代码上传完成之后,会在开发板上自动运行,观察开发板上蓝色LED灯的效果(效果是点亮一秒,熄灭一秒,如此往复


7.0 程序原理

cpp 复制代码
#include <Arduino.h>

第1行:通过#include指令引入Arduino开发框架的基础头文件,因为我们的程序是基于Arduino框架开发,所以必须依赖Arduino.h提供的相关类库,不引入则后面的代码将报错,无法编译通过;

cpp 复制代码
#define LED_PIN 2

第3行:通过#define宏定义指令定义一个常量,常量名称为LED_PIN,实际的值为2,用来表示我们开发板上蓝色LED灯关联的GPIO引脚,这个引脚2是开发板指定(看开发板上LED灯旁边标有D2字样,表示该板载LED灯由2号引脚控制,引脚输出高电平,LED点亮,引脚输出低电平,LED熄灭)的,并非我们随意写;

第5行~第8行:这是setup函数的逻辑,其中的pinMode函数这一行,表示将2号引脚的工作模式设置为输出模式,只有开发板引脚设置为输出模式,才能控制外部设备的运行;

cpp 复制代码
void loop()
{
  digitalWrite(LED_PIN, HIGH);
  delay(1000);
  digitalWrite(LED_PIN, LOW);
  delay(1000);
}

第10行~第16行:这是loop函数的逻辑,首先通过digitalWrite函数向2号引脚输出高电平,然后调用delay函数延迟1000毫秒,随后再向2号引脚输出低电平,最后再延迟1000毫秒

setup函数的作用是初始化,该函数只会在单片机通电的时候执行一次,该函数执行完毕之后,会无限循环执行loop函数中的逻辑。

注:以上内容来自于本人学习总结,仅供学习参考......

相关推荐
三佛科技-134163842129 分钟前
LN8K05A/B/C_5V非隔离AC-DC电源芯片 典型应用场景、典型电路、与阻容降压的对比分析
单片机·嵌入式硬件·物联网·智能家居·pcb工艺
ACP广源盛1392462567343 分钟前
GSV6155@ACP#6155产品规格详解及产品应用分享
嵌入式硬件·计算机外设·音视频
大唐荣华1 小时前
灵巧手 - 绳驱(钢丝/绳索驱动)、连杆(Linkage)和直驱(Direct Drive)的技术对比
嵌入式硬件·机械·灵巧手
阿拉斯攀登1 小时前
51单片机:点灯程序的底层拆解
单片机·嵌入式硬件·51单片机
网易独家音乐人Mike Zhou1 小时前
【嵌入式模块芯片开发】LP87524电源PMIC芯片配置流程,给雷达供电的延时上电时序及API函数
c语言·stm32·单片机·51单片机·嵌入式·电源·毫米波雷达
小立爱学习1 小时前
ARM64 指令 --- CASP / CASPA / CASPL / CASPAL
linux·c语言
小小Fred1 小时前
Cortex-M3的xPSR寄存器介绍
单片机·嵌入式硬件
就是蠢啊2 小时前
51单片机——DS1302 时钟芯片(二)
单片机·嵌入式硬件·51单片机
武汉唯众智创2 小时前
职业院校C语言程序设计(AIGC版)课程教学解决方案
c语言·开发语言·aigc·程序设计·c语言程序设计·c语言程序设计实训室
无人装备硬件开发爱好者2 小时前
深度解析:STM32 MDK 工程 HEX 文件转 BIN 文件 —— 原理、方法、优缺点与实战指南(上)
stm32·嵌入式硬件·hex2bin