ESP32-C6-LCD-0.85 使用教程

产品特性

  • 搭载 ESP32-C6 高性能 32 位 RISC-V 处理器,主频高达 160MHz
  • 集成 Wi-Fi 6、蓝牙 5 和 IEEE 802.15.4 (Zigbee 3.0 和 Thread) 无线通信,板载天线,具有出色的射频性能
  • 内置 512KB SRAM, 320KB ROM 和 8MB Flash
  • 采用 Type-C 接口,提高了用户的使用便捷性和设备的兼容性
  • 板载 0.85 英寸 LCD 屏,128 × 128 分辨率,65K 彩色
  • 板载 8 个环形 RGB 彩灯,可编程实现多种动态灯效
  • 板载 3.7V MX1.25 锂电池充放电接口
  • 引出 I2C、UART 等焊盘,可供外接设备和调试使用,灵活配置外设功能
  • 板载 Micro SD 卡槽,提供扩展存储、快速数据传输和灵活性,适用于数据记录和媒体播放,简化了电路设计
  • 板载 ES8311 音频编解码芯片、双 MIC 麦克风模块等资源

板载资源


  1. ESP32-C6FH8 集成 RISC-V 单核处理器,160MHz 运行频率,支持 2.4GHz Wi-Fi 6 和 BLE 5
  2. NS4150 音频功率放大器芯片
  3. ES8311 音频编解码芯片
  4. 电池充放电管理芯片
  5. ES7210 ADC 芯片实现回声消除电路
  6. PLUS 按键 支持自定义功能
  7. PWR 电源按键 可控制电源通断,支持自定义功能
  8. BOOT 按键 用于设备启动和功能调试
  9. 麦克风
  10. Micro SD 卡槽
  11. 贴片陶瓷天线 支持 2.4GHz Wi-Fi (802.11 b/g/n) 和 Bluetooth 5 (LE)
  12. 电池接口 MX1.25 2PIN 连接器,可用于接入 3.7V 锂电池,支持充放电
  13. USB Type-C 接口 ESP32-C6 USB 接口,用于烧录程序和日志打印
  14. 喇叭接口

LCD 及其控制器

  • 本款 LCD 使用的内置控制器为 ST7735,是一款 128 x RGB x 160 像素的 LCD 控制器,而本 LCD 本身的像素为 128(H)RGB x 128(V), 同时由于初始化控制可以初始化为横屏和竖屏两种,因此 LCD 的内部 RAM 并未完全使用。
  • 该 LCD 支持 8 位,9 位,16 位像素的输入颜色格式,即 RGB444,RGB565 两种颜色格式,本例程使用 RGB565 的颜色格式,这也是常用的 RGB 格式
  • LCD 使用四线 SPI 通信接口,这样可以大大的节省 GPIO 口,同时通信是速度也会比较快

SPI 通信协议:


  • 注:与传统的 SPI 协议不同的地方是:由于是只需要显示,故而将从机发往主机的数据线进行了隐藏

  • RESX 为复位,模块上电时拉低,通常情况下置 1;

  • CSX 为从机片选, 仅当 CS 为低电平时,芯片才会被使能。

  • D/CX 为芯片的数据/命令控制引脚,当 DC = 0 时写命令,当 DC = 1 时写数据

  • SDA 为传输的数据,即 RGB 数据;

  • SCL 为 SPI 通信时钟。

  • 对于 SPI 通信而言,数据是有传输时序的,即时钟相位(CPHA)与时钟极性 (CPOL) 的组合:

  • CPHA 的高低决定串行同步时钟是在第一时钟跳变沿还是第二个时钟跳变沿数据被采集,当 CPHA = 0,在第一个跳变沿进行数据采集;

  • CPOL 的高低决定串行同步时钟的空闲状态电平,CPOL = 0,为低电平。

  • 从图中可以看出,当 SCLK 第一个下降沿时开始传输数据,一个时钟周期传输 8bit 数据,使用 SPI0,按位传输,高位在前,低位在后

引脚定义

注意

在使用 ESP32-C6-LCD-0.85 板上预留的 GPIO 焊盘时需注意接线和对应功能,避免接线惯性导致烧坏开发板


产品尺寸


使用说明

为了让用户能够快速了解产品的各个功能,我们提供了一系列的测试例程,方便客户了解各个接口的使用。除了 ESP32-C6-LCD-0.85 主机和配套的器件之外,为了能够运行例程,需要准备的器件如下:

器件准备

  • ESP32-C6-LCD-0.85 ×1
  • Micro SD 卡 ×1(非必需,SD 卡示例需要)

产品组装说明

注意

安装电池时,组装 PC 绝缘片有绝缘及阻燃的作用,用于隔开电池和 PCB 板


注意事项

⚠️ USB 下载注意事项(重要)

开发板使用 USB 下载程序

若出现 无法识别端口 的情况,请进入 Boot 模式

  1. 按住 BOOT 按键
  2. 连接 USB 至电脑
  3. 松开 BOOT 按键

下载完成后,重新上电运行程序。

固件下载

固件烧录

  • 解压软件资源包(Flash_download_tool
  • 打开 flash_download_tool_3.9.7.exe 软件,根据开发板的 MCU 和接口选择: ESP32-C6 及 USB

  • 参数设置
    • ①. 选择与开发板所对应的 COM 口
    • ②. 选择 BAUD 为最高的 1152000
    • ③. 点击“...”选择示例程序包提供的ESP32-C6-LCD-0.85-Demo\Firmware目录下的 bin 文件,并手动输入下载地址 “0x00”最左侧勾选
    • ④. 开始烧录

  • 烧录完成(烧录过程需要一定时间,请耐心等待)
  • 按下复位观察现象


小智 AI 应用教程

XiaozhiAI(小智 AI)是一个基于 ESP32 开发板的开源 AI 语音聊天机器人项目,旨在将大语言模型(LLM)的通用智能赋予边缘设备。它提供了一套软硬件结合的解决方案,支持全双工语音对话及 IoT 设备控制,致力于协助开发者低成本、快速地构建高定制度的实体 AI 智能体。

本文演示如何为微雪电子支持小智 AI 的 ESP32 开发板烧录固件,包括无开发环境烧录(直接烧录预编译固件)和有开发环境烧录(从源码编译并烧录)两种方式。

0. 烧录固件流程参考

信息

本文以 ESP32-S3-Touch-AMOLED-1.8 开发板为例进行演示,若使用其他开发板,操作步骤类似。

请先确认你的硬件在 小智 AI 适配产品列表 中。


1. 无开发环境烧录

1.1 通过小智官方 GitHub 下载固件

  1. 访问 小智 GitHub 下载对应设备的固件文件,点击 Assets 展开全部文件列表:


  2. 参考 Flash 固件的烧录与擦除教程 完成固件烧录。

1.2 通过微雪电子 GitHub 下载固件

信息

此仓库 汇总了微雪电子支持小智 AI 的 ESP32 开发板固件,所有固件均已在对应开发板上测试验证,方便用户集中查找和下载。固件版本更新可能略晚于小智官方仓库。

  1. 访问 微雪 GitHub 仓库,根据需求选择合适版本的固件进行下载:


  2. 参考 Flash 固件的烧录与擦除教程 完成固件烧录。

2. ESP-IDF 环境烧录

2.1 通过小智 GitHub 下载工程

访问 XiaoZhi AI Chatbot 仓库下载完整工程代码:


2.2 环境搭建

参考 ESP-IDF 环境搭建教程 完成开发环境的配置。

2.3 配置编译

  1. 点击 VSCode 选择目标设备图标 选择目标设备,根据您的开发板选择对应的芯片型号(如 esp32s3):


    提示

    设置目标设备时,ESP-IDF 会自动配置相应的工具链和库,此过程可能需要一些时间,请耐心等待。更多详情请参阅 官方文档

  2. 点击 VSCode 终端按钮 打开 ESP-IDF 终端,执行 idf.py menuconfig 命令进入配置界面,选择 Xiaozhi Assistant:


  3. 选择 Board Type 进入开发板类型选择:


  4. 选择与您的开发板对应的产品型号:


  5. 按 S 键保存配置并退出,然后点击 一键编译烧录 一键构建、烧录和监视图标,自动完成编译、烧录和串口监视。

2.4 开始配网

  1. 使用手机或电脑连接设备的 WiFi 热点:Xiaozhi-xxxxxx。连接成功后通常会自动跳转到配置页面,若未自动跳转,请手动在浏览器中访问 http://192.168.4.1

  2. 在网络配置页面选择要连接的 WiFi 名称(仅支持 2.4G 频段;若要连接 iPhone 热点,需在手机系统设置中开启最大兼容性),SSID 将自动填入,输入密码后点击 Connect 开始连接:


2.5 添加新设备到管理后台

  1. 确保设备已成功连接到互联网,此时设备会播报 6 位设备验证码(可重复唤醒设备再次播报)。

  2. 访问 小智 AI 控制面板,如未注册请先完成账号注册并登录:




  3. 输入 6 位验证码后,设备将自动激活并显示在设备管理页面,即可正常使用。

  4. 说出唤醒词 "你好,小智" 即可唤醒设备,开始语音对话。

  5. ESP32-S3-Touch-AMOLED-1.8 按键说明:

    • BOOT 按键:按下可唤醒小智
    • PWR 按键:短按开机,长按 6 秒以上关机


Arduino 开发

本章节包含以下部分,请按需阅读:

Arduino 入门教程

初次接触 Arduino ESP32 开发,想要快速上手?我们为您准备了一套通用的 入门教程

请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。

配置开发环境

1. 安装和配置 Arduino IDE

请参考 安装和配置 Arduino IDE 教程 下载安装 Arduino IDE 并添加 ESP32 支持。

2. 安装库

要运行示例,需要安装对应的库。 可从 此链接 下载 ESP32-C6-LCD-0.85 开发板的示例程序包。包内的 Arduino\libraries 目录已包含本教程所需的全部库文件。

库或文件名称说明版本安装方式
lvglLVGL 图形化库v8.4.0 或 v9.3.0通过库管理器或手动安装
GFX_Library_for_ArduinoGFX 图形化库v1.6.0通过库管理器或手动安装
U8g2图形显示库v2.35.30通过库管理器或手动安装
FastLEDRGB 灯驱动库v3.10.1通过库管理器或手动安装
ESP32-audioI2S-master音频处理库v3.4.0通过库管理器或手动安装
OneButton按键库v2.6.1通过库管理器或手动安装
版本兼容性说明

LVGL 及其驱动库的版本之间存在较强的依赖关系。例如,为 LVGL v8 编写的驱动可能不兼容 LVGL v9。为确保示例能够稳定复现,推荐使用上表列出的特定版本。混合使用不同版本的库可能导致编译失败或运行时异常。

安装步骤:

  1. 解压已下载的 示例程序

  2. 将其 Arduino\libraries 目录下的所有文件夹(ESP32-audioI2S-master 、GFX_Library_for_Arduino 等)复制到 Arduino 的库文件夹中。

    信息

    Arduino 库文件夹的路径通常是:c:\Users\<用户名>\Documents\Arduino\libraries

    也可以在 Arduino IDE 中通过 文件 > 首选项,查看“项目文件夹位置”来定位。库文件夹就是此路径下的 libraries 文件夹。

  3. 其他安装方式请参考:Arduino 库管理教程

ESP32-C6-LCD-0.85 所需开发板安装说明

板名称板安装要求版本号要求
ESP32 by Espressif Systems“离线”安装/“在线”安装3.2.0

3. 其他提示

ESP32-C6-LCD-0.85 需要选择及配置开发板。


  1. ESP32-C6-LCD-0.85 需要选择 ESP32C6 Dev Module。
  2. 选择 USB 端口
  3. ESP32-C6-LCD-0.85 使用 ESP32-C6 原生 USB 接口,而非 UART 转 USB。对于串口通信:
    • printf() 函数可直接使用;

    • 若要使用 Serial.println() 函数,需要额外配置:在 IDE 工具菜单中启用"USB CDC On Boot"选项,或在代码中声明 HWCDC 对象处理 USB 串口通信。

  4. 选择 8MB flash
  5. 选择合适大小的分区表

示例程序

Arduino 示例程序位于 示例程序 的 Arduino/examples 目录中。

示例程序基础例程说明依赖库
01_audio_out读取 SD 卡的音频文件,并播放ESP32-audioI2S-master
02_button_example按键测试OneButton
03_ws2812b_example测试 RGB 灯FastLED
04_gfx_helloworld屏幕上显示 HelloWorldGFX_Library_for_Arduino
05_esp_wifi_analyzer屏幕上显示 WiFi 信号强度GFX_Library_for_Arduino
06_gfx_u8g2_font通过加载字库,实现各国文字显示GFX_Library_for_Arduino、U8g2
07_sd_card_test测试 SD 卡的读写---
08_lvgl_example_v8lvgl v8.4.0 示例程序GFX_Library_for_Arduino、lvgl
09_lvgl_example_v9lvgl v9.3.0 示例程序GFX_Library_for_Arduino、lvgl

01_audio_out

本示例演示 ESP32-C6-LCD-0.85 使用喇叭播放音频,屏幕无现象。

代码解释

  • 设置 I2S 引脚:
    void setupI2S() {
    i2s.setPins(I2S_BCK_PIN, I2S_LRCK_PIN, I2S_DOUT_PIN, I2S_DIN_PIN, I2S_MCK_PIN);
    // Initialize the I2S bus in standard mode
    if (!i2s.begin(I2S_MODE_STD, EXAMPLE_SAMPLE_RATE, I2S_DATA_BIT_WIDTH_16BIT, I2S_SLOT_MODE_MONO, I2S_STD_SLOT_LEFT)) {
    Serial.println("Failed to initialize I2S bus!");
    return;
    }
    }
  • 设置播放的音频数据:
    i2s.write((uint8_t *)audio_data, AUDIO_SAMPLES * 2);

运行效果

  • 播放音频文件,屏幕无现象

02_button_example

本示例演示如何使用 OneButton 库读取按键的单击、双击和长按等状态,并通过串口打印。

代码解释

  • 绑定回调函数:

    button1.attachClick(click1);
    button1.attachDoubleClick(doubleclick1);
    button1.attachLongPressStart(longPressStart1);
    button1.attachLongPressStop(longPressStop1);
    button1.attachDuringLongPress(longPress1);

运行效果

  • 屏幕无现象
  • 串口打印按钮信息

03_ws2812b_example

本示例 ESP32-C6-LCD-0.85 使用 FastLED 驱动 sw2812b RGB 灯,每 500ms 切换一种随机的颜色

代码解释

  • 初始化 ws2812b, 并设置亮度:

    FastLED.addLeds<WS2812B, DATA_PIN, RGB>(leds, NUM_LEDS); // GRB ordering is typical
    FastLED.setBrightness(100); // 0-255

运行效果

  • 屏幕无现象
  • RGB 灯每 500ms 切换一种随机的颜色

04_gfx_helloworld

本示例演示 ESP32-C6-LCD-0.85 使用 GFX_Library_for_Arduino 库驱动屏幕并在屏幕上显示 HelloWorld

代码解释

  • 配置屏幕接口、分辨率等
    Arduino_DataBus *bus = new Arduino_HWSPI(3 /* DC */, 5 /* CS */, 1 /* SCK */, 2/* MOSI */, GFX_NOT_DEFINED /* MISO */);
    Arduino_GFX *gfx = new Arduino_ST7735(bus, 4 /* RST */, 0 /* rotation */, true /* IPS */,128 /* width */, 128 /* height */,2 /* col offset 1 */, 3 /* row offset 1 */);

运行效果

  • 屏幕显示

05_esp_wifi_analyzer

本示例演示 ESP32-C6-LCD-0.85 使用 GFX_Library_for_Arduino 库显示 WiFi 频段信号强度

运行效果

  • 屏幕显示

06_gfx_u8g2_font

本示例演示 ESP32-C6-LCD-0.85 使用 GFX_Library_for_Arduino 库通过加载字库,实现各国文字显示

运行效果

  • 屏幕显示

07_sd_card_test

本示例使用 ESP32-C6-LCD-0.85 测试 SD 卡的读写功能

代码

07_sd_card_test.ino

代码解释

  • SD 卡初始化 :

    if (!SD_MMC.setPins(clk, cmd, d0, d1, d2, d3)) {
    Serial.println("Pin change failed!");
    return;
    }
    if (!SD_MMC.begin()) {
    Serial.println("Card Mount Failed");
    return;
    }

运行效果

  • 屏幕无现象
  • 打开串口监视器

08_lvgl_example_v8

本示例演示了使用 ESP32-C6-LCD-0.85 运行 lvgl(v8.4.0)示例程序。

  • 需要安装 lvgl v8.4.0 版本,如已安装其他版本,请重新安装。

运行效果

  • 屏幕显示

09_lvgl_example_v9

本示例演示了使用 ESP32-C6-LCD-0.85 运行 lvgl(v9.3.0)示例程序。

  • 需要安装 lvgl v9.3.0 版本,如已安装其他版本,请重新安装。

运行效果

  • 屏幕显示


ESP-IDF

本章节包含以下部分,请按需阅读:

ESP-IDF 入门教程

初次接触 ESP32 ESP-IDF 开发,想要快速上手?我们为您准备了一套通用的 入门教程

请注意:该教程使用 ESP32-S3-Zero 作为教学示例,所有硬件代码均基于其引脚布局。在动手实践前,建议您对照手中的开发板引脚图,确认引脚配置无误。

配置 ESP-IDF 开发环境

信息

对于 ESP32-C6-LCD-0.85 开发板,需要使用 ESP-IDF V5.5.0 以上版本。

备注

以下内容以 Windows 系统为例,使用 VS Code + ESP-IDF 扩展 的方式进行开发。Mac/Linux 用户请参考 官方说明

版本选择

此部分图示以安装 ESP-IDF V5.2.2 为例示范,安装时请选用与您开发板示例匹配的 ESP-IDF 版本。

安装 ESP-IDF 开发环境

  1. 前往 ESP-IDF Installation Manager 下载 ESP-IDF 安装管理器。这是乐鑫最新推出的跨平台安装工具,下文将演示如何使用其离线安装功能。

    在页面中点击 Offline Installer 标签,然后在筛选栏中选择 Windows 操作系统和你需要的 ESP-IDF 版本(图示仅为参考,请以实际为准)。


    确认选择无误后,点击下载按钮。浏览器将自动同时下载两个文件:一个是 ESP-IDF 离线整合包(.zst),另一个是 ESP-IDF 安装器(.exe)


    请耐心等待两个文件下载完成。

  2. 下载完成后,双击运行 ESP-IDF 安装器(eim-gui-windows-x64.exe)

    启动后,可在右上角将界面语言切换为中文。


    安装工具会自动检测同一目录下是否存在离线整合包。点击 从存档安装


    接下来,选择安装路径。建议使用默认路径;若需自定义,请确保路径中不包含中文或空格。确认无误后,点击 开始安装


  3. 当看到如下界面时,表示 ESP-IDF 已安装成功。


  4. 建议同时安装驱动程序。点击 完成安装,然后点击 安装驱动程序


安装 Visual Studio Code 与 ESP-IDF 扩展

  1. 下载并安装 Visual Studio Code

  2. 安装时建议勾选 通过 Code 打开操作添加到 Windows 资源管理器文件上下文菜单,以便快速打开项目文件夹。

  3. 在 VS Code 中,点击侧边活动栏中的 扩展图标 扩展图标(或使用快捷键 Ctrl + Shift + X)打开 扩展 视图。

  4. 在搜索框中输入 ESP-IDF,找到 ESP-IDF 扩展并点击安装。


  5. 当 ESP-IDF 扩展版本 ≥ 2.0 时,扩展会自动检测并识别上述步骤中安装的 ESP-IDF 环境,无需手动配置。

示例程序

ESP-IDF 示例程序位于 示例程序包 的 ESP-IDF 目录中。

01_factory

本示例演示是 ESP32-C6-LCD-0.85 的综合示例,也是出厂默认烧录的示例。

具体操作

  • 长按左键不松开,2 秒后录音 3 秒,再次长按左键播放录音(出现杂音请烧录最新固件 \Firmware\01_factory.bin)。
  • 使用电池供电时,长按中键关机,点按开机
  • 长按右键,灯珠发光,4 种颜色轮换,再次长按,灯珠熄灭。
  • 单击左右键进行页面切换

运行效果

  • 第一个页面显示红,绿,蓝三种颜色轮换
  • 第二个页面显示开发板信息
  • 第三个页面显示已连接 wifi 的 ip 地址(未连接,连接失败显示 0.0.0.0)和 搜索到的 wifi



02_button_example

本示例演示如何使用 espressif/button 库读取按键的单击、双击和长按等状态,并通过串口打印。

代码解释

  • 绑定回调函数 :

    ret = iot_button_register_cb(boot_btn, BUTTON_PRESS_DOWN, NULL, button_event_cb, NULL);
    ret |= iot_button_register_cb(boot_btn, BUTTON_PRESS_UP, NULL, button_event_cb, NULL);
    ret |= iot_button_register_cb(boot_btn, BUTTON_PRESS_REPEAT, NULL, button_event_cb, NULL);
    ret |= iot_button_register_cb(boot_btn, BUTTON_PRESS_REPEAT_DONE, NULL, button_event_cb, NULL);
    ret |= iot_button_register_cb(boot_btn, BUTTON_SINGLE_CLICK, NULL, button_event_cb, NULL);
    ret |= iot_button_register_cb(boot_btn, BUTTON_DOUBLE_CLICK, NULL, button_event_cb, NULL);
    ret |= iot_button_register_cb(boot_btn, BUTTON_LONG_PRESS_START, NULL, button_event_cb, NULL);
    ret |= iot_button_register_cb(boot_btn, BUTTON_LONG_PRESS_HOLD, NULL, button_event_cb, NULL);
    ret |= iot_button_register_cb(boot_btn, BUTTON_LONG_PRESS_UP, NULL, button_event_cb, NULL);
    ret |= iot_button_register_cb(boot_btn, BUTTON_PRESS_END, NULL, button_event_cb, NULL);

运行效果

  • 打开串口监视器

03_ws2812b_example

本示例演示如何使用 ESP32 的 RMT 外设控制 WS2812 LED 灯带,实现 LED 的开关控制

代码解释

  • 配置 LED 灯带参数并初始化 :
  • 循环控制 LED 灯带的开关状态 :
    led_strip_config_t strip_config {
    .strip_gpio_num = LED_STRIP_GPIO_PIN, // The GPIO that connected to the LED strip's data line
    .max_leds = LED_STRIP_LED_COUNT, // The number of LEDs in the strip,
    .led_model = LED_MODEL_WS2812, // LED strip model
    .color_component_format = LED_STRIP_COLOR_COMPONENT_FMT_GRB, // The color order of the strip: GRB
    .flags = {
    .invert_out = false, // don't invert the output signal
    }
    while (1) {
    if (led_on_off) {
    /* Set the LED pixel using RGB from 0 (0%) to 255 (100%) for each color */
    for (int i = 0; i < LED_STRIP_LED_COUNT; i++) {
    ESP_ERROR_CHECK(led_strip_set_pixel(led_strip, i, 5, 5, 5));
    }
    /* Refresh the strip to send data */
    ESP_ERROR_CHECK(led_strip_refresh(led_strip));
    ESP_LOGI(TAG, "LED ON!");
    } else {
    ESP_ERROR_CHECK(led_strip_clear(led_strip));
    ESP_LOGI(TAG, "LED OFF!");
    }

    led_on_off = !led_on_off;
    vTaskDelay(pdMS_TO_TICKS(500));
    }

运行效果

  • 屏幕无现象
  • LED 灯珠会同时以 500ms 间隔闪烁

  • 打开串口监视器

04_sd_card_test

本示例使用 ESP32-C6-LCD-0.85 对 SD 卡的读写功能进行测试。

  • 将 Micro SD 卡插入卡槽(SD 卡需要格式化为 FAT32)

代码解释

  • SD 卡初始化,并挂载:

    sdmmc_slot_config_t slot_config = SDMMC_SLOT_CONFIG_DEFAULT();
    #if EXAMPLE_IS_UHS1
    slot_config.flags |= SDMMC_SLOT_FLAG_UHS1;
    #endif

    // Set bus width to use:
    #ifdef CONFIG_EXAMPLE_SDMMC_BUS_WIDTH_4
    slot_config.width = 4;
    #else
    slot_config.width = 1;
    #endif

    // On chips where the GPIOs used for SD card can be configured, set them in
    // the slot_config structure:
    #ifdef CONFIG_SOC_SDMMC_USE_GPIO_MATRIX
    slot_config.clk = CONFIG_EXAMPLE_PIN_CLK;
    slot_config.cmd = CONFIG_EXAMPLE_PIN_CMD;
    slot_config.d0 = CONFIG_EXAMPLE_PIN_D0;
    #ifdef CONFIG_EXAMPLE_SDMMC_BUS_WIDTH_4
    slot_config.d1 = CONFIG_EXAMPLE_PIN_D1;
    slot_config.d2 = CONFIG_EXAMPLE_PIN_D2;
    slot_config.d3 = CONFIG_EXAMPLE_PIN_D3;
    #endif // CONFIG_EXAMPLE_SDMMC_BUS_WIDTH_4
    #endif // CONFIG_SOC_SDMMC_USE_GPIO_MATRIX

    // Enable internal pullups on enabled pins. The internal pullups
    // are insufficient however, please make sure 10k external pullups are
    // connected on the bus. This is for debug / example purpose only.
    slot_config.flags |= SDMMC_SLOT_FLAG_INTERNAL_PULLUP;

    ESP_LOGI(TAG, "Mounting filesystem");
    ret = esp_vfs_fat_sdmmc_mount(mount_point, &host, &slot_config, &mount_config, &card);

运行效果

  • 打开串口监视器
  • 打印 SD 卡信息

05_lvgl_example

本示例演示了 ESP32-C6-LCD-0.85 运行 lvgl 示例程序(支持 lvgl v8 和 lvgl v9)

代码解释

  • 初始化:

    /* LCD HW initialization */
    ESP_ERROR_CHECK(app_lcd_init());

    /* Touch initialization */
    app_touch_init();

    /* LVGL initialization */
    ESP_ERROR_CHECK(app_lvgl_init());

运行效果

  • 默认使用的 LVGL 版本为 v9.3.0。如需更换版本,请修改 main/idf_component.yml 文件中的 LVGL 配置,例如将其改为 lvgl/lvgl:^8.4.0

  • 运行效果


相关资料

1. 硬件资料

开发板设计文件

2. 技术手册

3. 示例程序

4. 软件工具

技术支持

周一-周五(9:30-6:30)周六(9:30-5:30)

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841


[教程导航]