ESP32-C5-LCD-1.47 使用教程

产品简介

ESP32-C5-LCD-1.47 是一款支持 2.4 GHz / 5 GHz Wi-Fi 6、Bluetooth 5 (LE) 和 IEEE 802.15.4 的微控制器开发板。板载 1.47 英寸 LCD 屏、Micro SD 卡座、RGB LED 和常用外设接口,适用于 ESP32-C5 的 HMI、无线通信和嵌入式显示应用。

产品特性

  • 搭载 ESP32-C5FH4,RISC-V 32 位处理器主频最高可达 240 MHz,低功耗处理器主频可达 48 MHz
  • 支持 2.4 GHz / 5 GHz Wi-Fi 6、Bluetooth 5 (LE)、Zigbee 3.0 和 Thread 1.4
  • 板载 320 KB ROM、384 KB HP SRAM、16 KB LP SRAM 和 4 MB Flash
  • 板载 1.47 英寸 LCD 屏,172 × 320 分辨率,262K 色
  • 板载 USB Type-C 接口,支持 ESP32-C5 原生 USB 下载、调试和串口功能,具体功能取决于固件配置
  • 板载 Micro SD 卡座,可通过 SD 卡存储图片或文件
  • 板载 WS2812 RGB LED
  • 引出大部分 GPIO,提供 18PIN 排针接口

资源简介


  1. ESP32-C5FH4
  2. MP1605GTF 降压 DC-DC,最大电流 1 A
  3. Micro SD 卡座
  4. BOOT 按键
  5. RESET 按键
  6. USB Type-C
  7. 贴片陶瓷天线
  8. WS2812 RGB LED

接口介绍


  • LCD

    LCD 引脚ESP32-C5
    LCD_CLKGPIO7
    LCD_DINGPIO6
    LCD_CSGPIO23
    LCD_DCGPIO24
    LCD_RSTGPIO26
    LCD_BLGPIO10
  • RGB LED

    RGB LEDESP32-C5
    WS2812GPIO8
  • SD Card

    SD CardESP32-C5
    MISOGPIO5
    MOSIGPIO6
    CLKGPIO7
    CSGPIO4
  • UART0

    UART0ESP32-C5
    TXGPIO11
    RXGPIO12
  • USB

    USBESP32-C5
    D+GPIO14
    D-GPIO13

产品尺寸


产品参数

参数名称参数
接口USB Type-C
主控芯片ESP32-C5FH4
Flash4 MB
屏幕类型TFT
屏幕尺寸1.47 英寸
屏幕分辨率172 × 320
屏幕接口SPI
屏幕控制芯片ST7789
触摸
板载设备Micro SD、WS2812 RGB LED
引出接口18PIN 排针接口


Arduino 开发

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

Arduino 入门教程

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

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

配置开发环境

1. 安装和配置 Arduino IDE

请参考 安装和配置 Arduino IDE 教程 下载并安装 Arduino IDE。

2. 安装 ESP32 开发板

  • ESP32 相关开发板需要先安装 "esp32 by Espressif Systems" 开发板支持包。
  • 安装方式可参考 Arduino 板管理教程
  • 对于 ESP32-C5-LCD-1.47,请选择包含 ESP32-C5 支持的开发板支持包版本。

3. 安装库

示例程序需要以下 Arduino 库。若使用 Arduino IDE 手动安装库,请参考 Arduino 库管理教程

库名称说明
GFX Library for ArduinoLCD 图形驱动库,对应示例中的 GFX_Library_for_Arduino
lvgl 9.5.0图形库,用于 LVGL 相关示例
版本兼容性说明

LVGL 与示例代码存在版本依赖。请使用 lvgl 9.5.0,避免因库版本差异导致编译失败或显示异常。

示例程序

  • 示例程序位于资料包的 examples/arduino 目录。烧录前请确认开发板型号、USB 端口和分区方案配置正确。

  • 资料包根目录已包含 libraries 文件夹。使用 Arduino IDE 编译示例前,请打开 "File" > "Preferences",将 "Sketchbook location"(项目文件夹位置)设置为资料包根目录 esp32-c5-lcd-1.47,即包含 libraries 和 examples 的目录。设置完成后,重新启动 Arduino IDE,再打开示例进行编译和烧录。

板载资源

功能资源GPIO 或说明
LCDST7789,SPI,172 × 320,RGB565SCLK GPIO7,MOSI GPIO6,CS GPIO23,DC GPIO24,RST GPIO26
LCD 背光LEDC PWMGPIO10
Micro SDSDSPISCLK GPIO7,MOSI GPIO6,MISO GPIO5,CS GPIO4
RGB LEDWS2812B,1 颗 LEDGPIO8,RGB 顺序
SPIFFS内部 Flash 文件系统选择包含 SPIFFS 的分区方案
Wi-FiESP32-C5 内置无线功能无需额外 GPIO

Arduino 工程参数设置

  1. 打开 Arduino IDE。
  2. 在 "Tools" > "Board" 中选择 ESP32-C5 对应开发板。
  3. 选择当前连接的 USB 端口。
  4. 如需查看串口输出,请根据示例说明开启 USB CDC 或使用对应串口配置。
  5. 编译 06_spiffs_rw 和 08_board_showcase 前,请选择包含 SPIFFS 的分区方案。

使用 arduino-cli 编译时,可参考以下命令:

arduino-cli lib install "GFX Library for Arduino"
arduino-cli lib install "lvgl@9.5.0"
arduino-cli compile --fqbn esp32:esp32:esp32c5 arduino/02_lvgl_hello

示例列表

示例目录功能
01_lcd_panel_basic使用 GFX_Library_for_Arduino 初始化 LCD,并绘制色块。
02_lvgl_hello启动 LVGL 9.5.0,在 LCD 上显示基础界面。
03_backlight_fade使用 LEDC 调节 LCD 背光,并通过 LVGL 显示亮度值。
04_ws2812_rgb使用 rgbLedWrite() 控制板载 WS2812B RGB LED 循环显示不同颜色。
05_sdcard_rw显示 Micro SD 状态页面,并执行文件写入和读回检查。
06_spiffs_rw挂载 SPIFFS,在内部 Flash 中执行文件写入和读回检查。
07_wifi_scan扫描附近 Wi-Fi 热点,并通过串口输出信号较强的扫描结果。
08_board_showcase综合演示 LCD、WS2812B、SPIFFS、SD 卡和 Wi-Fi 状态。

01_lcd_panel_basic

程序说明

  • 本示例使用 GFX_Library_for_Arduino 初始化 ST7789 LCD,不启动 LVGL。
  • LCD 先显示多色条纹背景,再显示一个上下移动的色块,用于检查屏幕显示和局部刷新。

硬件连接

  • 将开发板接入电脑。
  • 该示例仅使用板载 LCD 和背光,无需外接模块。

代码分析

  • setup():初始化串口、LCD 背光和 LCD 驱动,并调用 draw_color_bars() 绘制背景。
  • init_backlight():配置 GPIO10 的 LEDC PWM 背光输出。
  • draw_color_bars():按屏幕宽度绘制多组颜色条。
  • loop():周期调用 draw_motion_frame(),刷新移动色块所在区域。

运行效果

  • LCD 显示多色条纹背景,屏幕上有一个色块持续上下移动。


02_lvgl_hello

程序说明

  • 本示例启动 LVGL 9.5.0,并通过 GFX_Library_for_Arduino 将 LVGL 画面输出到 LCD。
  • LCD 页面显示开发板名称、LCD 分辨率、SPI 引脚信息和状态条。

硬件连接

  • 将开发板接入电脑。
  • 该示例仅使用板载 LCD 和背光,无需外接模块。

代码分析

  • setup():复位 LCD,初始化显示驱动、LVGL 和示例界面。
  • reset_lcd_panel():按 LCD 复位时序控制 CS、DC 和 RST 引脚。
  • init_display():初始化 ST7789,并设置屏幕方向和背光。
  • init_lvgl():创建 LVGL 显示对象,配置刷新回调和显示缓冲区。
  • create_ui():创建标题、设备信息和状态条等界面元素。
  • loop():调用 lvgl_loop_once() 处理 LVGL 定时任务。

运行效果

  • LCD 显示 LVGL 示例界面,可看到开发板名称、LCD 参数和 SPI 引脚信息。


03_backlight_fade

程序说明

  • 本示例使用 LEDC PWM 调节 LCD 背光亮度。
  • LVGL 页面同步显示当前亮度百分比和进度条。

硬件连接

  • 将开发板接入电脑。
  • 该示例仅使用板载 LCD 和背光,无需外接模块。

代码分析

  • setup():初始化 LCD、LVGL 和背光演示界面。
  • init_display():启动 LCD 并设置初始背光。
  • init_lvgl():配置 LVGL 显示缓冲区和刷新回调。
  • create_ui():创建亮度数值标签和进度条。
  • loop():周期调用 set_backlight() 和 update_ui(),让背光亮度按百分比变化。
  • lvgl_loop_once():推进 LVGL tick 并处理界面刷新。

运行效果

  • LCD 背光亮度循环变化,屏幕上的百分比和进度条同步更新。


04_ws2812_rgb

程序说明

  • 本示例使用 ESP32 Arduino core 的 rgbLedWrite() 控制板载 WS2812B RGB LED。
  • LED 会按红、绿、蓝等颜色循环显示。

硬件连接

  • 将开发板接入电脑。
  • 该示例仅使用板载 RGB LED,无需外接模块。

代码分析

  • setup():初始化串口,并输出示例名称。
  • set_led():封装 RGB LED 颜色设置。板载 LED 调用时使用 red, green, blue 的参数顺序。
  • loop():按固定间隔调用 set_led(),让 RGB LED 循环显示不同颜色。

运行效果

  • 板载 WS2812B RGB LED 按顺序切换颜色。

05_sdcard_rw

程序说明

  • 本示例通过 SDSPI 挂载 Micro SD 卡,并执行文件写入和读回检查。
  • LCD 页面显示 SD 卡挂载、写入、读取和结果状态。

硬件连接

  • 将开发板接入电脑。
  • 将 FAT 或 FAT32 格式的 Micro SD 卡装入开发板。

代码分析

  • setup():初始化 LCD、LVGL、SD 卡引脚和状态界面,然后执行 SD 卡读写检查。
  • init_sd_pins():配置 SD 卡相关引脚状态。
  • mount_sd_card():按 SDSPI 方式挂载 Micro SD 卡,并读取卡类型和容量。
  • write_file():向 SD 卡写入测试文件。
  • read_file():读回测试文件内容,并检查数据是否一致。
  • set_item() 和 set_summary():更新 LCD 上的步骤状态和最终结果。
  • loop():调用 lvgl_loop_once() 保持界面刷新。

运行效果

  • LCD 显示 SD 卡容量、文件写入和读回结果;串口同步输出检测信息。


06_spiffs_rw

程序说明

  • 本示例挂载内部 Flash 中的 SPIFFS 文件系统。
  • 程序会写入 /hello.txt,再读回文件内容并通过串口输出结果。

硬件连接

  • 将开发板接入电脑。
  • 编译和烧录前,请选择包含 SPIFFS 的分区方案。

代码分析

  • setup():初始化串口,调用 SPIFFS.begin(true) 挂载 SPIFFS,并输出总容量和已用容量。
  • write_read_check():删除旧测试文件,写入新内容,读回后检查字符串是否一致。
  • loop():该示例无循环任务。

运行效果

  • 串口输出 SPIFFS 容量信息、读回内容和示例完成状态。


07_wifi_scan

程序说明

  • 本示例使用 ESP32-C5 内置 Wi-Fi 扫描附近热点。
  • 串口输出扫描到的 SSID、RSSI 和信道信息。

硬件连接

  • 将开发板接入电脑。
  • 确认周围存在可扫描到的 2.4 GHz 或 5 GHz Wi-Fi 热点。

代码分析

  • setup():初始化串口,将 Wi-Fi 设置为 STA 模式,并断开已有连接。
  • loop():调用 WiFi.scanNetworks() 扫描热点,并输出热点数量、SSID、RSSI 和信道。
  • WiFi.scanDelete():释放本次扫描结果占用的资源。

运行效果

  • 串口每隔约 5 秒输出一次 Wi-Fi 扫描结果。


08_board_showcase

程序说明

  • 本示例综合检测 LCD、背光、WS2812B RGB LED、SPIFFS、microSD 卡和 Wi-Fi 扫描。
  • LCD 页面显示各功能项的 RUNPASSWARN 或 FAIL 状态。

硬件连接

  • 将开发板接入电脑。
  • 如需检测 SD 卡,请将 FAT 或 FAT32 格式的 Micro SD 卡装入开发板。
  • 编译和烧录前,请选择包含 SPIFFS 的分区方案。

代码分析

  • setup():初始化 LCD、LVGL、状态界面和综合检测流程。
  • create_ui():创建板载资源状态面板。
  • run_showcase():依次检查 LCD、RGB LED、SPIFFS、SD 卡和 Wi-Fi。
  • file_rw_check():对 SPIFFS 或 SD 卡执行文件写入和读回检查。
  • mount_sd_card():挂载 SD 卡,并读取容量信息。
  • set_item():更新各功能项状态和说明文本。
  • loop():调用 lvgl_loop_once() 保持界面刷新。

运行效果

  • LCD 显示各功能检测结果;检测完成后,页面底部显示最终状态。若未插入 SD 卡或未扫描到 Wi-Fi,相关项目会显示告警。


使用说明

  • 05_sdcard_rw 运行前,请插入 FAT 或 FAT32 格式的 Micro SD 卡。
  • 06_spiffs_rw 和 08_board_showcase 需要包含 SPIFFS 的分区方案。
  • LCD 和 Micro SD 共用 SPI 时钟与 MOSI 引脚,示例中已按板载连接配置。
  • 板载 RGB LED 示例按 red, green, blue 顺序传入颜色参数。


ESP-IDF 开发

注意

使用时请将屏幕亮度控制在 50% 以内,避免长时间满亮度运行。亮度过高会使屏幕温度升高,可能导致屏幕出现黑色阴影,影响显示。

如果显示异常,请将开发板静置一段时间后,再烧录较低亮度的程序使用。

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

ESP-IDF 入门教程

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

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

配置 ESP-IDF 开发环境

请参考 安装 ESP-IDF 开发环境

版本说明

ESP32-C5-LCD-1.47 示例需要 ESP-IDF v5.3.0 或更新版本。

备注

以下内容以 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 环境,无需手动配置。

示例程序

示例程序位于资料包的 examples/esp-idf 目录。各示例的 sdkconfig.defaults 已指定目标芯片为 esp32c5,一般无需再次执行 idf.py set-target esp32c5

编译和烧录

进入任意 ESP-IDF 示例目录后执行:

cd esp-idf/02_lvgl_hello
idf.py build flash monitor

如果需要指定串口,请将 COMx 替换为实际串口号,例如 COM5

idf.py -p COMx build flash monitor

示例列表

示例目录功能
01_lcd_panel_basic初始化 LCD,不使用 LVGL,绘制彩条和移动色块。
02_lvgl_hello启动 BSP LVGL 显示接口,并显示基础 UI。
03_backlight_fade调节 LCD 背光亮度,并在屏幕上显示亮度变化。
04_ws2812_rgb控制板载 WS2812B RGB LED 循环显示不同颜色。
05_sdcard_rw挂载 Micro SD 卡,并执行文件写入和读回检查。
06_spiffs_rw挂载内部 Flash 的 SPIFFS 分区,并执行文件写入和读回检查。
07_wifi_scan扫描附近 Wi-Fi 热点,并通过串口输出扫描结果。
08_board_showcase综合演示 LCD、背光、RGB LED、SPIFFS、SD 卡和 Wi-Fi 状态。

01_lcd_panel_basic

程序说明

  • 本示例通过 BSP 初始化 ST7789 LCD,不启动 LVGL。
  • LCD 先显示多色条纹背景,再显示一个上下移动的色块,用于检查屏幕显示和局部刷新。

硬件连接

  • 将开发板接入电脑。
  • 该示例仅使用板载 LCD 和背光,无需外接模块。

代码分析

  • app_main():创建 LCD 面板、初始化背光、注册传输完成回调,并启动显示流程。
  • bsp_display_new():创建 LCD panel 和 panel IO 对象。
  • bsp_display_brightness_init() 和 bsp_display_brightness_set():初始化并设置 LCD 背光。
  • draw_color_bars():按块绘制多色条纹背景。
  • esp_lcd_panel_draw_bitmap():向 LCD 指定区域写入图像数据。
  • draw_moving_bar_region():刷新移动色块及其覆盖过的背景区域。

运行效果

  • LCD 显示多色条纹背景,屏幕上有一个色块持续上下移动。


02_lvgl_hello

程序说明

  • 本示例启动 BSP LVGL 显示接口,并在 LCD 上绘制基础界面。
  • 页面显示开发板名称、LCD 分辨率、SPI 引脚信息和状态条。

硬件连接

  • 将开发板接入电脑。
  • 该示例仅使用板载 LCD 和背光,无需外接模块。

代码分析

  • app_main():启动 BSP 显示服务,设置屏幕方向和背光,并创建 LVGL 页面。
  • bsp_display_start():启动 LCD panel 和 LVGL port。
  • bsp_display_rotate():设置屏幕旋转方向。
  • bsp_display_backlight_on():打开 LCD 背光。
  • bsp_display_lock() 和 bsp_display_unlock():保护 LVGL 界面创建过程。
  • create_ui():创建标题、说明文本、设备信息和状态条。

运行效果

  • LCD 显示 LVGL 示例界面,可看到开发板名称、LCD 参数和 SPI 引脚信息。


03_backlight_fade

程序说明

  • 本示例通过 bsp_display_brightness_set() 调节 LCD 背光亮度。
  • LVGL 页面同步显示当前亮度百分比和进度条。

硬件连接

  • 将开发板接入电脑。
  • 该示例仅使用板载 LCD 和背光,无需外接模块。

代码分析

  • app_main():启动 BSP 显示服务,创建亮度页面,并进入亮度循环。
  • create_ui():创建亮度标题、百分比标签和进度条。
  • bsp_display_brightness_set():按当前百分比设置 LCD 背光。
  • update_ui():更新 LVGL 标签和进度条数值。
  • bsp_display_lock() 和 bsp_display_unlock():保护 LVGL 控件更新过程。

运行效果

  • LCD 背光亮度循环变化,屏幕上的百分比和进度条同步更新。


04_ws2812_rgb

程序说明

  • 本示例初始化板载 WS2812B RGB LED,并循环显示不同颜色。
  • 该示例主要用于验证板载 RGB LED 控制功能。

硬件连接

  • 将开发板接入电脑。
  • 该示例仅使用板载 RGB LED,无需外接模块。

代码分析

  • app_main():初始化 RGB LED,并进入颜色循环。
  • bsp_ws2812b_init():初始化板载 WS2812B LED。
  • bsp_setledcolor():设置指定 LED 的红、绿、蓝亮度。
  • vTaskDelay():控制颜色切换间隔。

运行效果

  • 板载 WS2812B RGB LED 按顺序切换颜色。

05_sdcard_rw

程序说明

  • 本示例通过 SDSPI 挂载 Micro SD 卡,并执行文件写入和读回检查。
  • LCD 页面显示 SD 卡挂载、写入、读取和结果状态。

硬件连接

  • 将开发板接入电脑。
  • 将 FAT 或 FAT32 格式的 Micro SD 卡装入开发板。

代码分析

  • app_main():启动 LCD 和 LVGL 页面,挂载 SD 卡,并执行读写检查。
  • bsp_sdcard_mount():挂载 Micro SD 卡。
  • sd_write_file():向 SD 卡写入测试文件。
  • sd_read_file():读回测试文件内容,并检查数据是否一致。
  • set_item() 和 set_summary():更新 LCD 上的步骤状态和最终结果。
  • bsp_sdcard_unmount():测试完成后卸载 SD 卡。

运行效果

  • LCD 显示 SD 卡容量、文件写入和读回结果;串口同步输出检测信息。


06_spiffs_rw

程序说明

  • 本示例挂载名为 storage 的 SPIFFS 分区。
  • 程序会写入测试文件,再读回文件内容并通过串口输出结果。

硬件连接

  • 将开发板接入电脑。
  • 该示例使用工程内的自定义分区表,无需外接模块。

代码分析

  • app_main():挂载 SPIFFS,写入测试文件,读回文件内容,并输出检查结果。
  • bsp_spiffs_mount():挂载 storage SPIFFS 分区。
  • fopen()fwrite() 和 fread():执行文件写入和读回。
  • bsp_spiffs_unmount():测试完成后卸载 SPIFFS。

运行效果

  • 串口输出 SPIFFS 挂载、文件读写和示例完成状态。


07_wifi_scan

程序说明

  • 本示例使用 ESP32-C5 内置 Wi-Fi 扫描附近热点。
  • 串口输出可打印 SSID、RSSI、信道和认证方式等信息。

硬件连接

  • 将开发板接入电脑。
  • 确认周围存在可扫描到的 2.4 GHz 或 5 GHz Wi-Fi 热点。

代码分析

  • app_main():初始化 NVS 和 Wi-Fi STA 模式,并创建扫描任务。
  • init_nvs():初始化 NVS,供 Wi-Fi 组件使用。
  • init_wifi_sta():初始化 Wi-Fi,并设置为 STA 模式。
  • wifi_scan_task():周期执行 Wi-Fi 扫描并输出结果。
  • ssid_to_printable_ascii():过滤不可打印字符,便于串口显示 SSID。

运行效果

  • 串口周期输出 Wi-Fi 扫描结果,包括热点数量、SSID、RSSI 和信道信息。


08_board_showcase

程序说明

  • 本示例综合检测 LCD、背光、WS2812B RGB LED、SPIFFS、microSD 卡和 Wi-Fi 扫描。
  • LCD 页面显示各功能项的 RUNPASSWARN 或 FAIL 状态。
  • RGB LED 会根据最终检测结果显示不同颜色。

硬件连接

  • 将开发板接入电脑。
  • 如需检测 SD 卡,请将 FAT 或 FAT32 格式的 Micro SD 卡装入开发板。

代码分析

  • app_main():启动 BSP 显示服务,设置屏幕方向和背光,并创建综合检测任务。
  • create_ui():创建板载资源状态面板。
  • showcase_task():依次检查 LCD、RGB LED、SPIFFS、SD 卡和 Wi-Fi。
  • write_read_file():对 SPIFFS 或 SD 卡执行文件写入和读回检查。
  • wifi_scan_once():执行一次 Wi-Fi 扫描,并生成状态文本。
  • set_item():更新各功能项状态和说明文本。
  • bsp_setledcolor():根据最终状态设置 RGB LED 颜色。

运行效果

  • LCD 显示各功能检测结果;检测完成后,页面底部显示最终状态,RGB LED 同步显示最终状态颜色。


综合示例状态说明

08_board_showcase 会在 LCD 上显示各功能检查结果,并通过 RGB LED 显示最终状态。

LED 状态含义
绿色所有项目均为 PASS
黄色存在 WARN,例如未插入 SD 卡或未扫描到 Wi-Fi。
红色存在 FAIL,表示某个功能检查失败。

说明:

  • 未插入 SD 卡时,SD 项会显示 CHECK 或 No card,最终 LED 为黄色。
  • Wi-Fi 环境中没有可扫描到的热点时,Wi-Fi 项为告警状态,最终 LED 为黄色。
  • SPIFFS 首次运行时可能提示格式化,这是正常现象。

使用说明

  • 05_sdcard_rw 运行前,请插入 FAT 或 FAT32 格式的 Micro SD 卡。
  • 06_spiffs_rw 和 08_board_showcase 使用自定义分区表,并包含 storage SPIFFS 分区。
  • LCD 和 Micro SD 共用 SPI 时钟与 MOSI 引脚,由 BSP 初始化 SPI 总线。
  • 板载 RGB LED 示例按 red, green, blue 顺序传入颜色参数。
  • 当前 BSP 未启用触摸、按键、音频或 IMU 功能。

相关资料

1. 硬件资料

技术手册

软件开发资源


技术支持

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

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841





[教程导航]