ESP32-C6-Touch-LCD-1.54 使用教程

产品特性

  • 搭载 ESP32-C6 高性能 32 位 RISC-V 处理器,主频高达 160MHz
  • 支持 2.4 GHz Wi-Fi (802.11 b/g/n) 和 蓝牙 5,并集成板载天线,具有出色的射频性能
  • 内置 512KB 的 SRAM 和 320KB ROM,外接 16MB Flash
  • 采用 Type-C 接口,无需纠结正反插,提高了用户的使用便捷性和设备的兼容性
  • 板载 1.54 英寸电容液晶屏,240 × 240 分辨率,262K 彩色,能清晰地显示彩色图片
  • 板载 ES7210 音频编码芯片,支持双麦克风音频采集
  • 板载 ES8311 音频编解码芯片,NS4150B 功放芯片,麦克风和喇叭
  • 板载 QMI8658 六轴惯性测量单元 (3 轴加速度、3 轴陀螺仪),可检测运动姿态拓展应用
  • 内置 ST7789 驱动芯片,使用 SPI 接口通信
  • 内置 CST816 电容触控芯片,使用 I2C 接口通信(仅触控版本)
  • 板载 PLUS、BOOT 两个可自定义功能的按钮,方便使用按钮进行自定义功能开发
  • 板载 3.7V MX1.25 锂电池充放电接口
  • 引出 1 路 I2C、1 路 UART 和 1 路 USB 焊盘,可供外接设备和调试使用,灵活配置外设功能
  • 板载 Micro SD 卡槽,支持存储扩展与快速数据传输,便于实现数据记录与媒体播放等功能,并简化系统电路设计

板载资源


  1. ESP32-C6 集成 RISC-V 单核处理器,160MHz 运行频率,支持 2.4GHz Wi-Fi 6 和 BLE 5
  2. 16MB NOR-Flash
  3. NS4150B 音频功率放大器芯片
  4. ES8311 低功耗音频编解码芯片
  5. ES7210 ADC 芯片实现回声消除电路
  6. 电池充放电管理芯片
  7. QMI8658 六轴惯性测量单元 (IMU),包含一个 3 轴陀螺仪和一个 3 轴加速度计
  8. PLUS 按键
  9. PWR 按键
  10. BOOT 按键 用于设备启动和功能调试
  11. 麦克风
  12. Micro SD 卡槽
  13. 板载贴片天线 支持 2.4GHz Wi-Fi6 (802.11 b/g/n) 和 蓝牙 5 (LE)
  14. MX1.25 锂电池接口 MX1.25 2PIN 连接器,可用于接入 3.7V 锂电池,支持充放电
  15. Type-C 接口
  16. MX1.25 喇叭接口
  17. 1.54 英寸屏幕排线座子

LCD 屏幕参数

显示面板IPS显示尺寸1.54 英寸
显示分辨率240 × 240 像素显示颜色262K
通信接口4-wire SPI驱动 ICST7789
触摸类型(仅触控版本)电容感应式触控 IC(仅触控版本)CST816
屏幕有效尺寸27.72 × 27.72 mm--

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,按位传输,高位在前,低位在后

外设速查

模块器件 / 功能接口地址 / 参数GPIO / 信号
LCD1.54 寸 SPI LCD4-wire SPI240x240 常用 RGB565,MISO 未使用CLK=GPIO1,DIN=GPIO2,DC=GPIO3,RST=GPIO4,CS=GPIO11,BL=GPIO6
触摸CST816 电容触摸I2C7-bit 地址 0x15SCL=GPIO7,SDA=GPIO8,INT=GPIO5
IMUQMI8658 6 轴传感器I2C7-bit 地址 0x6BSCL=GPIO7,SDA=GPIO8,INT=GPIO10
音频 DAC/CodecES8311I2C + I2S7-bit 地址 0x30SCL=GPIO7,SDA=GPIO8;MCLK=GPIO19,SCLK=GPIO20,ASDOUT=GPIO21,LRCK=GPIO22,DSDIN=GPIO23
麦克风 ADCES7210I2C + I2S7-bit 地址 0x80与 Codec 共用 I2C/I2S
功放NS4150BGPIO 控制 + 模拟音频单声道功放PA_CTRL=GPIO15
SD 卡TF 卡座SPI与 LCD 共用 SPI 时钟/数据;独立 CSSCK=GPIO1,MOSI=GPIO2,MISO=GPIO16,SDCS=GPIO17
电池采样B+ 分压到 ADCADCR29 上拉 200K,R31 下拉 100K;VBAT=VADC×3GPIO0 / BAT_ADC
USB Type-CESP32-C6 原生 USBUSB下载、日志USB_N=GPIO12,USB_P=GPIO13
UART0默认串口 / 扩展口UART调试 / 扩展焊盘ESP_TXD=GPIO16,ESP_RXD=GPIO17
充电管理ETA6098电源单节锂电池充放电电池接口
3.3 V 电源TMI3112HDC-DC系统 3.3 V3V3
BOOT 按键BOOTGPIO / 下载模式上拉,按下拉低GPIO9
用户按键KEY_PLUSGPIO板载按键/功能键GPIO18
PWR 按键PWRECJ23001-4FCBD6 开关芯片长按关机,短按开机

引脚定义

在使用 ESP32-C6-Touch-LCD-1.54 板上预留的 GPIO 端子时,需要注意本板为 ESP32-C6,BOOT、USB、UART 与 ESP32-S3 系列板卡不同,避免按旧板接线导致功能异常。

扩展口

类型信号
电源3V3 / GND
I2CSCL(GPIO7) / SDA(GPIO8)
UARTTX(GPIO16) / RX(GPIO17)
控制CHIP_EN / CHG_STAT

GPIO 完整分配

GPIO信号名连接到备注
GPIO0BAT_ADC电池电压分压采样R29=200K,R31=100K;VBAT=VADC×3
GPIO1LCD_CLK / SCKLCD SPI CLK / SD 卡 SCKLCD 与 SD 共用 SPI 时钟
GPIO2LCD_DIN / MOSILCD SPI MOSI / SD 卡 MOSILCD 与 SD 共用 SPI 数据
GPIO3LCD_DCLCD 数据/命令-
GPIO4LCD_RSTLCD 复位;触摸复位网络相关-
GPIO5TP_INT触摸中断-
GPIO6LCD_BLLCD 背光控制-
GPIO7SCL / TP_SCL / IMU_SCL / CODEC_SCL共享 I2C SCL接出到扩展口
GPIO8SDA / TP_SDA / IMU_SDA / CODEC_SDA共享 I2C SDA接出到扩展口
GPIO9BOOTBOOT 按键ESP32-C6 下载模式脚;按下拉低
GPIO10IMU_INTQMI8658 中断-
GPIO11LCD_CSLCD SPI 片选-
GPIO12USB_NUSB Type-C D-ESP32-C6 原生 USB
GPIO13USB_PUSB Type-C D+ESP32-C6 原生 USB
GPIO15PA_CTRLNS4150B 功放控制可控制功放使能
GPIO16MISO / ESP_TXDSD 卡 MISO / UART TX与 UART 扩展功能复用,使用时注意冲突
GPIO17SDCS / ESP_RXDSD 卡 CS / UART RX与 UART 扩展功能复用,使用时注意冲突
GPIO18KEY_PLUS板载按键用户按键/功能键
GPIO19I2S_MCLK音频 MCLKES8311 / ES7210
GPIO20I2S_SCLK音频 BCLK/SCLKES8311 / ES7210
GPIO21I2S_ASDOUT音频数据输出Codec/ADC 音频数据
GPIO22I2S_LRCK音频 LRCK/WSES8311 / ES7210
GPIO23I2S_DSDIN音频数据输入ES8311 / ES7210

产品尺寸


小智 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 秒以上关机


3. 小智资料


Arduino 开发

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

Arduino 入门教程

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

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

配置开发环境

1. 安装和配置 Arduino IDE

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

2. 安装库

要运行示例,需要安装对应的库。示例代码使用 GFX Library for Arduino 库驱动 ST7789 显示屏 ,并使用 SensorLib 库驱动 CST816 触摸芯片。

可从 此链接 下载 ESP32-C6-Touch-LCD-1.54 开发板的示例程序包。包内的 Arduino\libraries 目录已包含本教程所需的全部库文件。

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

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

安装步骤:

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

  2. 将其 Arduino\libraries 目录下的所有文件夹复制到 Arduino 的库文件夹中。

    信息

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

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

:::

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

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

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

3. 其他提示

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


  1. ESP32-C6-Touch-LCD-1.54 需要选择 ESP32C6 Dev Module
  2. 选择对应的 USB 端口。
  3. ESP32-C6-Touch-LCD-1.54 使用 ESP32-C6 原生 USB 接口,而非 UART 转 USB。
  4. 对于串口通信:
    • printf() 函数可直接使用;
    • 若要使用 Serial.println() 函数,建议在 IDE 工具菜单中启用 USB CDC On Boot
  5. 选择 16MB Flash
  6. 根据示例需求选择合适大小的分区表。运行 ESP-SR 示例时,需要选择支持语音模型的大分区表。

示例程序

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

示例程序基础例程说明依赖库
01_audio_out读取 SD 卡的音频文件,并播放ESP32-audioI2S-master
02_button_example按键测试OneButton
03_qmi8658_example打印 IMU 获取的数据SensorLib 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-Touch-LCD-1.54 读取音频数据并播放,屏幕无现象。

代码解释

  • 设置 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_qmi8658_example

  • 本示例使用 ESP32-C6-LCD-1.54 获取板载 QMI8658 的数据并使用串口打印

代码解释

  • 初始化 QMI8658:

    if (!qmi.begin(Wire, QMI8658_L_SLAVE_ADDRESS, SENSOR_SDA, SENSOR_SCL)) {
    Serial.println("Failed to find QMI8658 - check your wiring!");
    while (1) {
    delay(1000);
    }
    }

运行效果

  • 屏幕无现象
  • 打开串口监视器,可以看到打印的 x、y、z 轴的 accel 和 gyro 数据

04_gfx_helloworld

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

代码解释

  • 配置屏幕接口、分辨率等
    Arduino_DataBus* bus = new Arduino_HWSPI(3 /* DC */, 5 /* CS */, 1 /* SCK */, 2 /* MOSI */, -1 /* MISO */);
    Arduino_GFX* gfx = new Arduino_ST7789(
    bus, 4 /* RST */, 0 /* rotation */, true, 240, 240);

运行效果

  • 屏幕显示

05_esp_wifi_analyzer

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

运行效果

  • 屏幕显示

06_gfx_u8g2_font

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

运行效果

  • 屏幕显示

07_sd_card_test

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

代码解释

  • SD 卡初始化 :

    #ifdef REASSIGN_PINS
    SPI.begin(sck, miso, mosi, cs);
    if (!SD.begin(cs)) {
    #else
    if (!SD.begin()) {
    #endif
    Serial.println("Card Mount Failed");
    return;
    }

运行效果

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

08_lvgl_example_v8

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

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


运行效果

  • 屏幕显示

09_lvgl_example_v9

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

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


运行效果

  • 屏幕显示


ESP-IDF

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

ESP-IDF 入门教程

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

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

配置 ESP-IDF 开发环境

信息

对于 ESP32-C6-Touch-LCD-1.54 开发板,建议使用 ESP-IDF V5.5.1 以上版本。

备注

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

版本选择

此部分图示以安装 ESP-IDF V5.5.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-Touch-LCD-1.54 的综合示例。

硬件连接

  • 将开发板接入电脑

运行效果





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

具体操作

  • 长按左键不松开,2 秒后麦克风采集声音,松开左键或者采集 4 秒后扬声器播放录音(出现杂音请重新烧录该固件)。
  • 使用电池供电时,长按中键开机,再次长按并松开关机
  • 单击左右键进行页面切换,ESP32-C6-Touch-LCD-1.54可以通过滑动屏幕进行页面切换

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_qmi8658_example

本示例演示如何使用 sensorlib 库读取读取 qmi8658 的数据并打印

硬件连接

  • 将开发板接入电脑

代码解释

  • 读取 qmi8658 的 Accelerometer、Gyroscope 以及 Timestamp
    if (qmi.getDataReady())
    {
    if (qmi.getAccelerometer(acc.x, acc.y, acc.z))
    {
    printf("ACCEL--x:%5.2f y:%5.2f z:%5.2f ", acc.x, acc.y, acc.z);
    }

    if (qmi.getGyroscope(gyr.x, gyr.y, gyr.z))
    {
    printf("GYRO--x:%5.2f y:%5.2f z:%5.2f ", gyr.x, gyr.y, gyr.z);
    }
    }

运行效果

  • 屏幕无现象
  • 打开串口调试工具,串口打印 qmi8658 的数据信息

04_sd_card_test

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

硬件连接

  • 将 SD 卡插入卡槽(SD 卡需要格式化为 FAT32)
  • 将开发板接入电脑

运行效果

  • 屏幕无现象
  • 打开串口调试工具,串口打印 SD 卡信息

05_lvgl_example

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

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

硬件连接

  • 将开发板接入电脑

代码解释

  • 初始化:

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

    /* Touch initialization */
    app_touch_init();

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

运行效果



相关资料

1. 硬件资料

开发板设计文件

2. 技术手册

3. 示例程序

4. 软件工具


技术支持

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

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841




[教程导航]