RYMCU

07.三分钟点亮ESP32-S3开发板LED灯

Hugh 1 年前
# ESP32-S3 # 点灯 # ESP-IDF

1.概述

点亮 LED 实际上就是控制 ESP32GPIO 口输出。本文讲述如何在三分钟之内,点亮你的第一个 LED。

2.创建工程

我们在 esp-idf 例子工程上实现,找到 sample_project 文件夹,一般在如下路径,并复制到你的工程目录下。

/esp-idf/examples/get-started/sample_project

使用 VSCODE 打开工程文件如下:
image.png

3.话不多说,先上代码

ESP32 控制 LED 灯总共分三步:

第一步: 找到 LED 灯对应芯片的引脚,也就是 LED 灯接到了哪个 GPIO 口上;
第二步: 配置 GPIO 为输出模式;
第三步:GPIO 口写 0,点亮 LED

就是这么简单,三步搞定。代码如下,后面逐条分析。

#include <stdio.h>
#include <driver/gpio.h>

#define GPIO_LED_IO 18  //LED灯对应GPIO18
void app_main(void)
{
	printf("hello RYMCU.rn");

	// step 1 初始化GPIO
gpio_config_t my_io_config =
{
	.pin_bit_mask = 1 << GPIO_LED_IO, //
	.mode = GPIO_MODE_OUTPUT, //设置为输出模式
};
gpio_config(&my_io_config);

// step 2 点亮LED
gpio_set_level(GPIO_LED_IO,0);

}

image.png

4.代码分析

硬件平台为 RYMCU ESP32-S3 开发板,其中,LED 小灯(编号 D3)连接到了 GPIO18,并且 LED 在开发板的中间靠右侧,如下图所示。

image.png

4.1 第一步

因此,第 4 行代码如下,指定 18LEDGPIO第一步 完成。

#define GPIO_LED_IO 18
4.2 第二步

配置 GPIO 需要用到 esp-idf 库函数,需要添加头文件,添加第 2 行代码,如下所示:

#include <driver/gpio.h>

配置 GPIO 口变量 my_io_config,如代码第 10-14 行,如下所示,设置为输出模式。

gpio_config_t my_io_config =
{
.pin_bit_mask = 1 << GPIO_LED_IO, //
.mode = GPIO_MODE_OUTPUT, //设置为输出模式
};

调用函数完成初始化,如代码第 15 行所示:

gpio_config(&my_io_config);

第二步 ,LED 配置完成。

4.3 第三步

调用系统函数,给 GPIO 口写 0,点亮 LED。如第 18 行代码。

`gpio_set_level(GPIO_LED_IO,0);````

第三步 完成。

5.代码编译下载看结果

5.1 代码编译

打开命令行工具,并切换到你的工程目录下,逐条输入以下代码完成芯片配置和编译:

idf.py set-target esp32s3 //设置芯片
idf.py build // 编译
5.2 代码下载

参考《03.一分钟学会 ESP32 代码编译下载》step3,4

5.3 演示效果

image.png