模板: ESP32-C6-Touch-LCD-1.69-IDF-Demo
ESP-IDF开发
本章介绍 ESP-IDF 环境搭建,包括 Visual Studio、Espressif IDF插件的安装,程序编译下载及示例程序测试,帮助用户掌握开发板,便于二次开发。
环境搭建
下载和安装 Visual Studio
- 打开VScode官网的下载页面,选择对应系统和系统位数进行下载

- 运行安装包后,其余均可以默认安装,但这里为了后续的体验建议,建议在此处勾选框中的1、2、3项
- 第一二项开启后,可以直接通过鼠标右键文件或者目录打开VSCode,可以提高后续的使用体验.
- 第三项开启后,选择打开方式时,可以直接选择VSCode
安装Espressif IDF插件
- 国内部分区域安装,一般推荐“在线安装”, 若因网络因素无法在线安装,则使用“离线安装”。
- 安装Espressif IDF插件教程,详见:安装Espressif IDF插件教程
- 需要安装 ESP-IDF V5.4.0 或更高版本。
运行第一个 ESP-IDF 程序
新建项目
创建例程
- 使用快捷键 F1 ,输入esp-idf:show examples projects
- 选择你当前的IDF版本
- 以Hello world例程为例
①选择对应例程
②其readme会说明该例程适用于什么芯片(下文有介绍例程怎么使用与文件结构,这里略)
③点击创建例程
- 选择放置例程的路径,要求无例程同名文件夹
修改COM口
- 此处显示使用对应的COM口,点击可以修改对应COM口
- 请根据设备对应COM口进行选择(可通过设备管理器查看)
- 若出现下载失败的情况请点击复位按键1秒以上或进入下载模式,等待 PC 端重新识别到设备后再次下载
修改驱动对象
- 选择我们需要驱动的对象,也就是我们的主芯片为ESP32S3
- 选择openocd的路径,这里对我们没有影响,所以我们随便选择一个即可
其余状态栏简介
①.ESP-IDF开发环境版本管理器,当我们的工程需要区分开发环境版本时,可以通过安装不同版本的ESP-IDF来分别管理,当工程使用特定版本时,可以通过使用它来切换
②.设备烧录COM口,选择以将编译好的程序烧录进芯片上
③.set-target 芯片型号选择,选择对应的芯片型号,如:ESP32-P4-Nano需要选择 esp32p4 为目标芯片
④.menuconfig,点击修改sdkconfig配置文件内容,项目配置详细资料
⑤.fullclean 清理按钮,当工程编译报错或其他操作污染编译内容时,通过点击清理全部编译内容
⑥. Build 构建工程,当一个工程满足构建时,通过此按钮进行编译
⑦.当前下载方式,默认为UART
⑧.flash烧录按钮,当一个工程Build构建通过时,选择对应开发板COM口,点击此按钮可以将编译好的固件烧录至芯片
⑨.monitor开启烧录口监控,当一个工程Build-->flash后,可通过点击此按钮查看烧录、调试口输出的l0g,以便观察应用程序是否正常工作
⑩.Debug调试
⑪.Build Flash Monitor 一键按钮,用于连续执行Build-->Flash-->Monitor,常被称作小火苗
编译、烧录、串口监视
- 点击我们之前介绍的 编译,烧录,打开串口监视器按键
- 编译可能需要较长时间才能完成,尤其是在第一次编译时
- 在此过程中,ESP-IDF可能会占用大量CPU资源,因此可能会导致系统卡顿
- 若是新工程首次烧录程序,将需要选择下载方式,选择 UART
- 后续也可在 下载方式 处进行修改(点击即可弹出选项)
- 因为板载自动下载电路,无需手动操作即可自动下载
- 下载成功后,自动进入串口监视器,可以看到芯片输出对应的信息并提示10S后重启
使用IDF 示例程序
软件内部打开
- 打开 VScode 软件,选择文件夹打开示例
- 选择提供的 ESP-IDF 下的示例,点击选择文件(位于 示例程序/Demo/ESP-IDF 路径下)
软件外部打开
- 正确选择工程目录,打开工程,否则会影响后续程序编译烧录
- 连接设备后,选择好COM口和型号,点击下方编译并烧录即可实现程序控制
ESP-IDF工程项目详解
- 组件(Component):ESP-IDF中的组件是构建应用的基本模块,每个组件通常是相对独立的代码库或库,能实现特定的功能或服务,可以被应用程序或是其他组件重复使用,类似于Python开发中的库的定义。
- 组件的引用:Python开发环境中引入库只需要“import 库名或路径”即可,而ESP-IDF基于C语言基础,引入库是通过
CMakeLists.txt进行配置和定义的。 - CmakeLists.txt的作用:ESP-IDF编译时编译工具
CMake会首先通过读取工程目录的顶层CMakeLists.txt的内容来读取构建规则,识别需要编译的内容。当在CMakeLists.txt中引入了需要的组件、程序后,编译工具CMake会根据索引导入每个所需要编译的内容。编译过程如:
- 组件的引用:Python开发环境中引入库只需要“import 库名或路径”即可,而ESP-IDF基于C语言基础,引入库是通过
修改COM口
- 此处显示使用对应的COM口,点击可以修改对应COM口
- 请根据设备对应COM口进行选择(可通过设备管理器查看)
- 若出现下载失败的情况请点击复位按键1秒以上或进入下载模式,等待 PC 端重新识别到设备后再次下载
修改驱动对象
- 选择我们需要驱动的对象,下图以主芯片为ESP32S3 以例(用户根据手头实物板子的主控芯片对应设置)
- 选择openocd的路径,这里对我们没有影响,所以我们随便选择一个即可
其余状态栏简介
①.ESP-IDF开发环境版本管理器,当我们的工程需要区分开发环境版本时,可以通过安装不同版本的ESP-IDF来分别管理,当工程使用特定版本时,可以通过使用它来切换
②.设备烧录COM口,选择以将编译好的程序烧录进芯片上
③.set-target 芯片型号选择,选择对应的芯片型号,如:ESP32-P4-Nano需要选择 esp32p4 为目标芯片
④.menuconfig,点击修改sdkconfig配置文件内容,项目配置详细资料
⑤.fullclean 清理按钮,当工程编译报错或其他操作污染编译内容时,通过点击清理全部编译内容
⑥. Build 构建工程,当一个工程满足构建时,通过此按钮进行编译
⑦.当前下载方式,默认为UART
⑧.flash烧录按钮,当一个工程Build构建通过时,选择对应开发板COM口,点击此按钮可以将编译好的固件烧录至芯片
⑨.monitor开启烧录口监控,当一个工程Build-->flash后,可通过点击此按钮查看烧录、调试口输出的l0g,以便观察应用程序是否正常工作
⑩.Debug调试
⑪.Build Flash Monitor 一键按钮,用于连续执行Build-->Flash-->Monitor,常被称作小火苗
编译、烧录、串口监视
- 点击我们之前介绍的 编译,烧录,打开串口监视器按键
- 编译可能需要较长时间才能完成,尤其是在第一次编译时
- 在此过程中,ESP-IDF可能会占用大量CPU资源,因此可能会导致系统卡顿
- 若是新工程首次烧录程序,将需要选择下载方式,选择 UART
- 后续也可在 下载方式 处进行修改(点击即可弹出选项)
- 因为板载自动下载电路,无需手动操作即可自动下载
- 下载成功后,自动进入串口监视器,可以看到芯片输出对应的信息并提示10S后重启
使用IDF 示例程序
软件内部打开
- 打开 VScode 软件,选择文件夹打开示例
- 选择提供的 ESP-IDF 下的示例,点击选择文件(位于 示例程序/Demo/ESP-IDF 路径下)
软件外部打开
- 正确选择工程目录,打开工程,否则会影响后续程序编译烧录
- 连接设备后,选择好COM口和型号,点击下方编译并烧录即可实现程序控制
ESP-IDF工程项目详解
- 组件(Component):ESP-IDF中的组件是构建应用的基本模块,每个组件通常是相对独立的代码库或库,能实现特定的功能或服务,可以被应用程序或是其他组件重复使用,类似于Python开发中的库的定义。
- 组件的引用:Python开发环境中引入库只需要“import 库名或路径”即可,而ESP-IDF基于C语言基础,引入库是通过
CMakeLists.txt进行配置和定义的。 - CmakeLists.txt的作用:ESP-IDF编译时编译工具
CMake会首先通过读取工程目录的顶层CMakeLists.txt的内容来读取构建规则,识别需要编译的内容。当在CMakeLists.txt中引入了需要的组件、程序后,编译工具CMake会根据索引导入每个所需要编译的内容。编译过程如:
- 组件的引用:Python开发环境中引入库只需要“import 库名或路径”即可,而ESP-IDF基于C语言基础,引入库是通过
示例程序
| 示例程序 | 基础例程说明 |
|---|---|
| 01_factory | 综合示例程序 |
| 02_lvgl_example_v8 | lvgl v8版本示例程序 |
| 03_lvgl_example_v9 | lvgl v9版本示例程序 |
| 04_qmi8658_example | 串口打印IMU数据 |
| 05_pcf85063_example | 串口打印RTC数据 |
| 06_lvgl_image_v8 | 使用lvgl v8版本显示图片 |
| 07_lvgl_image_v9 | 使用lvgl v9版本显示图片 |
01_factory
【程序说明】
02_lvgl_example_v8
03_lvgl_example_v9
04_qmi8658_example
【程序说明】
05_pcf85063_example
【程序说明】
06_lvgl_image_v8
【程序说明】
本示例演示了 ESP32-C6-Touch-LCD-1.69 运行lvgl v8版本显示图片。
【硬件连接】
- 将板子接入电脑
【准备工作】
- 打开 lvgl图片转换网站
- 导入图片 images/image_1.jpg 并转换,会生成 image_1.c 文件
- 将 image_1.c 拷贝到 main 文件夹内
- main文件夹的 CMakeLists.txt 添加 "image_1.c"
idf_component_register(SRCS "main.cpp" "image_1.c"
INCLUDE_DIRS ".")
- 在main.c 加入以下代码,声明图片
LV_IMG_DECLARE(image_1);
- 设置要显示的图片
lv_img_set_src(img, &image_1);
07_lvgl_image_v9
【程序说明】
本示例演示了 ESP32-C6-Touch-LCD-1.69 运行lvgl v9版本显示图片。
【硬件连接】
- 将板子接入电脑
【准备工作】
- 打开 lvgl图片转换网站
- 导入图片 images/image_1.jpg 并转换,会生成 image_1.c 文件
- 将 image_1.c 拷贝到 main 文件夹内
- main文件夹的 CMakeLists.txt 添加 "image_1.c"
idf_component_register(SRCS "main.cpp" "image_1.c"
INCLUDE_DIRS ".")
- 在main.c 加入以下代码,声明图片
LV_IMAGE_DECLARE(image_1);
- 设置要显示的图片
lv_image_set_src(img, &image_1);



















