文章目录
- 使用VSCode创建项目
- 安装驱动
- 下载驱动
- 安装驱动
- 连接开发板
- 电脑识别开发板
- 编写程序
- 烧录程序
- 第一步、编译程序
- 第二步、烧录程序
- 第三步、开发板观察效果
- 原理讲解
- 项目源码
在之前的课程,我们已经介绍了ESP32单片机,并且也已经安装好了开发环境,从这节课开始,我们将正式步入ESP32的实战开发中来。
说到单片机开发,开篇一定离不开点亮LED灯,我们也不例外,接下来,我们一起写代码点亮ESP32开发板上的板载LED灯
使用VSCode创建项目
打开VSCode
,点击左边的蚂蚁头图标,然后在PROJECT TASKS
类目中,点击Create New Project
,再点击Quick Access
上的New Project
,在Project Wizard
中,填写规则如下:
- Name填写自己的项目名称,自行定义(不建议起中文名称),比如
esp32-demo1
- Borad中搜索
ESP32 DEV
,然后选择Espressif ESP32 Dev Module
,这是我们ESP32开发板对应的Board类型,一定要选择正确 - Framework选择
Arduino
,表示我们是基于Arduino
框架进行开发 - Location可以勾选
Use default location
,表示将项目存方法在默认目录(鼠标悬浮在旁边的问号,可看到项目默认存放路径);或者不勾选,然后自己决定项目存放目录即可
项目创建成功后,VSCode会弹出信任确认框,勾选信任父文件夹...
,然后点击是...
安装驱动
我们套件里面提供的ESP32
开发板,USB转TTL的驱动芯片是CH340
,所以我们需要在电脑上安装CH340
的驱动(有些电脑插上开发板后会自动安装驱动),不然电脑无法识别开发板。
下载驱动
点击下方下载链接下载CH340
驱动程序
点击这里下载CH340驱动程序
安装驱动
下载完上面的驱动程序,双击打开,点击安装,等待安装完成即可
连接开发板
拿出我们套件里面提供的ESP32
开发板,使用TypeC
数据线将其与电脑连接
电脑识别开发板
连接好开发板后,点击电脑左下角开始按钮,搜索并打开设备管理器
如果在设备管理器的端口(COM和LPT)
类目下,能够看到如下图所示的设备,即表示开发板能够被电脑正确识别(设备名带有CH340
标识),这里需要大家注意,设备名上的COM3
就是咱们开发板的串口标识,这个标识在后续烧录程序的时候会用到。如果没看到设备列表,说明可能驱动安装有问题,请尝试卸载重装再试。
:::tip 温馨提示
如果大家使用的不是我淘宝店铺提供的配套的开发板,那驱动芯片有可能不是CH340,这种情况下需要安装对应的驱动,这里的设备名也会有区别。
:::
编写程序
接下来复制下面提供的代码,粘贴到VSCode
项目中的src/main.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);
}
烧录程序
经过上面的步骤,一个简单的程序已经编写好了,接下来我们需要将程序(固件)上传(这个过程俗称烧录
)到ESP32开发板。单片机开发和电脑程序开发有一个非常不同的点:电脑程序是在电脑上开发,电脑上运行,而单片机开发是电脑上开发,开发板上运行,所以编写好的代码需要通过数据线上传到开发板,才能运行。
第一步、编译程序
点击VSCode左下角的对钩图标,开始编译程序。编译通过则表示程序语法没问题,符合程序设计规则,如果编译失败,则需要根据提示信息进行相应的修改。
编译成功的提示信息如下:
第二步、烧录程序
如果上一步编译成功,说明程序在语法上没问题,我们接下来就可以将程序上传到开发板。
:::tip 温馨提示
实际上,在实际的开发过程中,我们可以跳过第一步,直接执行第二步烧录程序,因为程序烧录之前会自动进行编译。
:::
先点击最下方的插头
图标,点击后在最上方会出现设备列表,在这个列表中我们可以选择Auto
,表示由软件自己自动化探测开发板,或者直接手动指定特定的设备,列表中的COM3
就是之前在电脑设备管理器上看到的串口名称。
开发板设备指定完成之后,点击最下方向右的箭头,表示开始烧录程序
第三步、开发板观察效果
代码上传完成之后,会在开发板上自动运行(无需像电脑程序一样手动启动程序,因为单片机上只有一份程序,通电即自动运行),大家可以观察开发板上蓝色LED灯的效果(效果是点亮一秒,熄灭一秒,如此往复,这就是上面程序的最终效果)
至此,恭喜大家已经打开单片机开发世界的大门,一个完整的基于Arduino
框架的ESP32
开发板的单片机程序就已经开发上传完毕。
原理讲解
虽然上面的流程我们已经跑通,最终实际效果也出来了,但是可能部分同学还是不明所以然,接下来我们讲解程序逻辑和原理
第1行
:通过#include
指令引入Arduino
开发框架的基础头文件,因为我们的程序是基于Arduino
框架开发,所以必须依赖Arduino.h
提供的相关类库,不引入则后面的代码将报错,无法编译通过;第3行
:通过#define
宏定义指令定义一个常量,常量名称为LED_PIN
,实际的值为2
,用来表示我们开发板上蓝色LED灯关联的GPIO
引脚,这个引脚2是开发板指定(看开发板上LED灯旁边标有D2
字样,表示该板载LED灯由2号
引脚控制,引脚输出高电平,LED点亮,引脚输出低电平,LED熄灭)的,并非我们随意写;第5行~第8行
:这是setup
函数的逻辑,其中的pinMode
函数这一行,表示将2号
引脚的工作模式设置为输出模式,只有开发板引脚设置为输出模式,才能控制外部设备的运行;第10行~第16行
:这是loop
函数的逻辑,首先通过digitalWrite
函数向2号引脚输出高电平,然后调用delay
函数延迟1000毫秒,随后再向2号引脚输出低电平,最后再延迟1000毫秒setup
函数的作用是初始化,该函数只会在单片机通电的时候执行一次,该函数执行完毕之后,会无限循环执行loop
函数中的逻辑。
上面是程序的基本逻辑,更详细的介绍,下一节细说。
项目源码
本节课源码地址:点击这里访问
感谢阅读,对物联网或者电子DIY感兴趣的,欢迎关注公众号【微联实验室】获取免费视频/文档资料