目录
Blink示例
新做一个LED灯闪烁的示例程序并烧录到 ESP32开发板中,实验最终效果如下图所示:
创建项目
首先,打开 VS Code 从模板项目创建 Blink 项目,按 F1 或选择顶部菜单【查看/命令面板(Ctrl + Shift + P)】,
在命令行中输入:esp-idf show,在显示的下来菜单中选择【展示示例项目】
然后选择当前的 ESP-IDF 开发环境,如下图所示:
然后选择【blink】示例,如下图所示进行操作:
然后选择项目的保存地址,这样就创建了 blink 项目了,如下图所示:
程序入口
main/blink.c
/* Blink Example
This example code is in the Public Domain (or CC0 licensed, at your option.)
Unless required by applicable law or agreed to in writing, this
software is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
CONDITIONS OF ANY KIND, either express or implied.
*/
#include <stdio.h>
#include "freertos/FreeRTOS.h"
#include "freertos/task.h"
#include "driver/gpio.h"
#include "sdkconfig.h"
/* Can use project configuration menu (idf.py menuconfig) to choose the GPIO to blink,
or you can edit the following line and set a number here.
*/
#define BLINK_GPIO CONFIG_BLINK_GPIO
void app_main(void)
{
/* Configure the IOMUX register for pad BLINK_GPIO (some pads are
muxed to GPIO on reset already, but some default to other
functions and need to be switched to GPIO. Consult the
Technical Reference for a list of pads and their default
functions.)
*/
gpio_reset_pin(BLINK_GPIO);
/* Set the GPIO as a push/pull output */
gpio_set_direction(BLINK_GPIO, GPIO_MODE_OUTPUT);
while(1) {
/* Blink off (output low) */
printf("Turning off the LED\n");
gpio_set_level(BLINK_GPIO, 0);
vTaskDelay(1000 / portTICK_PERIOD_MS);
/* Blink on (output high) */
printf("Turning on the LED\n");
gpio_set_level(BLINK_GPIO, 1);
vTaskDelay(1000 / portTICK_PERIOD_MS);
}
}
打开 idf.py 前端
对于Windows系统,可以直接在程序列表查找并打开 ESP-IDF 4.3 CMD 或 ESP-IDF 4.3 PowerShell,终端打开后会自动添加环境变量,执行如下命令,切换到项目根目录:
> cd F:\05-workspace\dev\01-lab\esp32\book-esp32-c3-guide\src\ch04\blink
设置目标设备
使用如下命令将编译目标设置为 ESP32-C3 ,
idf.py set-target esp32c3
这时将自动生成配置文件 sdkconfig
配置 GPIO
接着使用命令
idf.py menuconfig
弹出配置界面:
进入选项配置界面,按向上/向下按键和Enter按键进入Example Configuration,选择【Blink GPIO number】,输入数字将GPIO改为指定引脚,如下图所示,按照提示进行保存即可。
保存后,按【ESC】退出。
这时配置文件 sdkconfig的这个配置先已经修改为8,
CONFIG_BLINK_GPIO=8
同时产生了一个旧的配置文件 sdkconfig.old
硬件连线
所用材料
材料 | 数量 |
---|---|
ESP32-C3 开发板 | 1个 |
LED灯 | 1个 |
杜邦线 | 2条 |
连线
按照下图进行连线:
-
LED等的正极(针脚比较长的一脚为正极)连接ESP32-C3 开发板的 8 针脚;
-
LED等的负极连接ESP32-C3 开发板的 GND 针脚
-
最后使用 USB 线将 ESP32-C3 开发板连接到PC,查看其连接的端口后,我这里的端口是 COM7 。
编译工程
然后依次如下命令进行编译
idf.py build # 编译工程
烧录与监视输出
然后依次如下命令进行烧录与监视输出
idf.py -p COM7 flash monitor # 烧录到设备并监视输出
结果
LED 等开始闪烁,如下图所示:
标签:示例,ESP32,Blink,idf,GPIO,BLINK From: https://www.cnblogs.com/easy5weikai/p/17128488.html