ESP32-C6-Touch-AMOLED-2.16 使用教程

产品特性

  • 搭载 ESP32-C6 高性能 32 位 RISC-V 处理器,主频高达 160MHz
  • 支持 Wi-Fi 6、蓝牙 5 和 IEEE 802.15.4 (Zigbee 3.0 和 Thread) 无线通信,具有出色的射频性能,板载天线
  • 内置 512KB HP SRAM、16KB LP SRAM 和 320KB ROM,外挂 16MB Flash
  • 采用 Type-C 接口,提高了用户的使用便捷性和设备的兼容性
  • 板载 2.16 英寸电容触摸高清 AMOLED 屏,480 × 480 分辨率,16.7M 彩色,能清晰地显示彩色图片
  • 内置 CO5300 驱动芯片和 CST9220 电容触控芯片,分别使用 QSPI 和 I2C 接口通信,不占用过多接口引脚资源
  • 板载 QMI8658 六轴惯性测量单元 (3 轴加速度、3 轴陀螺仪),可检测运动姿态、计步等功能
  • 板载 PCF85063 RTC 芯片,通过 AXP2101 接入电池,实现不间断供电
  • 板载 KEY、BOOT 两个可自定义功能的侧边按钮,方便使用按钮进行自定义功能开发
  • 板载 3.7V MX1.25 锂电池充放电接口
  • 引出 1 路 I2C、1 路 UART 和 1 路 USB 焊盘,可供外接设备和调试使用
  • 使用 AXP2101 的好处包括高效的电源管理、支持多种输出电压、充电和电池管理功能以及对电池寿命的优化
  • 使用 AMOLED 屏幕,可以获得更高的对比度、更广的可视角度、更丰富的色彩和更快速的响应,而且机身纤薄,具有低功耗和灵活性等优点

资源简介


  1. ESP32-C6 集成 RISC-V 单核处理器,160MHz 运行频率,支持 2.4GHz Wi-Fi 6 和 BLE 5
  2. AXP2101 高集成度的电源管理芯片
  3. 16MB NOR-Flash 用于存储数据
  4. QMI8658 六轴惯性测量单元 (IMU),包含一个 3 轴陀螺仪和一个 3 轴加速度计
  5. ES8311 低功耗音频编解码芯片
  6. ES7210 ADC 芯片实现回声消除电路
  7. MX1.25 锂电池接口 MX1.25 2PIN 连接器,可用于接入 3.7V 锂电池,支持充放电
  8. 板载贴片天线 支持 2.4GHz Wi-Fi (802.11 b/g/n) 和 Bluetooth 5 (LE)
  9. IPEX 1 代座子 可通过拆焊电阻切换为使用外部天线
  10. BOOT 按键 按住 BOOT 按键,重新上电即可进入下载模式
  11. PWR 电源按键 接入电源默认上电,长按关闭电源,单击则打开电源
  12. KEY 按键 可用于自定义功能
  13. 双麦克风阵列设计 双麦克风阵列,支持更丰富的语音交互功能
  14. 2PIN 扬声器焊点 音频输出信号,支持外接扬声器
  15. Micro SD 卡槽 支持 FAT32 格式的 SD 卡,用于数据扩展
  16. PCF85063 RTC 时钟芯片,支持时间保持功能
  17. Type‑C 接口 ESP32‑C6 USB 接口,用于烧录程序和日志打印
  18. 屏幕接口 仅限于连接屏幕
  19. 扬声器功放芯片 专业音频功率放大芯片,提供清晰饱满的音频输出,保障高品质外放体验

接口介绍


AMOLED 屏幕参数

参数参数
显示面板AMOLED显示尺寸2.16 英寸
显示分辨率480 × 480 pixels显示颜色16.7M
显示亮度600cd/㎡对比度100000:1
通信接口QSPI驱动 ICCO5300
触控支持触控 ICCST9220

产品尺寸



Arduino 开发

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

Arduino 入门教程

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

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

配置开发环境

1. 安装和配置 Arduino IDE

信息

对于 ESP32-C6-Touch-AMOLED-2.16 开发板,Arduino IDE 需要安装 arduino-esp32 v3.3.0 以上版本。

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

2. 安装库

  • 在安装 Arduino 库时,通常有两种方式可供选择:在线安装 和 离线安装。若库安装要求离线安装,则必须使用提供的库文件。
  • 对于大多数库,用户可以通过 Arduino 软件的在线库管理器轻松搜索并安装。然而,一些开源库或自定义库未被同步到 Arduino 库管理器中,因此无法通过在线搜索获取。在这种情况下,用户只能通过离线方式手动安装这些库。
  • 可从 该处 下载 ESP32-C6-Touch-AMOLED-2.16 开发板的示例程序包。包内的 Arduino\libraries 目录已包含本教程所需的全部库文件。
库或文件名称说明版本安装方式
LVGL图形库v8.* / v9.*"离线"安装
SensorLib传感器控制库v0.3.1"离线/在线"安装
版本兼容性说明

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

3. Arduino 工程参数设置


示例程序

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

示例程序基础例程说明依赖库
01_ADC_Test获取锂电池的电压值-
02_I2C_PCF85063打印RTC芯片的实时时间SensorLib
03_I2C_QMI8658打印IMU发出来的原始数据SensorLib
04_SD_Card加载显示SD卡的信息-
05_WIFI_AP设置为AP模式,可获取接入设备的IP地址-
06_WIFI_STA设置为STA模式,可接入WiFi获取IP地址-
07_BATT_PWR_Test单独使用锂电池供电时,通过PWR按键控制电源-
08_Audio_Test扬声器播放麦克风录到的声音-
09_LVGL_V8_TestLVGLV8例程LVGL V8.*
10_LVGL_V9_TestLVGLV9例程LVGL V9.*

01_AXP2101_Test

【程序说明】

  • 通过驱动 AXP2101 获取电源信息,并打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

axp2101.setDC1Voltage(3300);    //设置DCDC1电压值3.3V
axp2101.setALDO1Voltage(3300); //设置ALDO1电压值3.3V
axp2101.setALDO2Voltage(3300); //设置ALDO2电压值3.3V
axp2101.setALDO3Voltage(3300); //设置ALDO3电压值3.3V
axp2101.setALDO4Voltage(3300); //设置ALDO4电压值3.3V
axp2101.setPrechargeCurr(XPOWERS_AXP2101_PRECHARGE_50MA); //设置预充电流50ma
axp2101.setChargerConstantCurr(XPOWERS_AXP2101_CHG_CUR_500MA);//设置恒流充电电流500ma
axp2101.setChargerTerminationCurr(XPOWERS_AXP2101_CHG_ITERM_50MA);//设置截止充电电流50ma
axp2101.getBattVoltage(); //获取锂电池电压

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的电源信息,如下图所示:


02_I2C_QMI8658

【程序说明】

  • 通过驱动 QMI8658 获取姿态信息,并打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

qmi8658_set_accel_range(&qmi8658, QMI8658_ACCEL_RANGE_8G);// 设置加速度计量程为 ±8G(G=重力加速度)
qmi8658_set_accel_odr(&qmi8658, QMI8658_ACCEL_ODR_1000HZ);// 设置加速度计输出数据速率为 1000Hz(每秒1000次采样)
qmi8658_set_gyro_range(&qmi8658, QMI8658_GYRO_RANGE_512DPS);// 设置陀螺仪量程为 ±512°/s(每秒最大旋转角速度)
qmi8658_set_gyro_odr(&qmi8658, QMI8658_GYRO_ODR_1000HZ);// 设置陀螺仪输出数据速率为 1000Hz
qmi8658_set_accel_unit_mps2(&qmi8658, true);// 设置加速度计输出单位为 m/s²(米/秒²)
qmi8658_set_gyro_unit_rads(&qmi8658, true);// 设置陀螺仪输出单位为 rad/s(弧度/秒)
qmi8658_set_display_precision(&qmi8658, 4);// 设置数据输出/打印的精度为 4 位小数

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的姿态信息,如下图所示:


03_I2C_QMI8658

【程序说明】

  • 通过驱动 PCF85063 设置时间、获取时间,并打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

pcf85063a_datetime_t datatime = {
.year = 2026,
.month = 1,
.day = 1,
.hour = 8,
.min = 0,
.sec = 0
};
pcf85063a_set_time_date(&pcf85063, datatime); /*设置起始时间2026/1/1 08:00:00*/
pcf85063a_get_time_date(&pcf85063, &datatime); /*获取当前的时间*/

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的 RTC 时间,如下图所示:


04_SD_Card

【程序说明】

  • 使 SDSPI 的方式驱动 SD Card,并将 SD Card 信息打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

esp_vfs_fat_sdspi_mount(SdName_, &host, &slot_config, &mount_config, &sdCardHead); //挂载 sdcard 到 fatfs 文件系统
int SDPort_WriteFile(const char *path, const void *data, size_t data_len); //往文件写数据
int SDPort_ReadFile(const char *path, uint8_t *buffer, size_t *outLen); //从文件读取数据
int SDPort_ReadOffset(const char *path, void *buffer, size_t len, size_t offset); //带有偏移量从文件读取数据
int SDPort_WriteOffset(const char *path, const void *data, size_t len, bool append); //带有偏移量从文件写数据

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的 SD Card 信息,如下图所示:


05_WIFI_STA

【程序说明】

  • 把开发板设置成 WIFI STA 模式,可连接 AP 路由器,并将获取 IP 地址打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

nvs_flash_init();                                     // 初始化 NVS(非易失性存储),用于保存 Wi-Fi 配置等数据
esp_netif_init(); // 初始化 TCP/IP 栈,网络通信所需
esp_event_loop_create_default(); // 创建默认 事件循环,用于系统事件分发(如 Wi-Fi 事件)
esp_netif_create_default_wifi_sta(); // 创建默 认 Wi-Fi STA(Station)接口,用于连接路由器
esp_netif_create_default_wifi_ap(); // 创建默 认 Wi-Fi AP(Access Point)接口,用于自身提供热点
strcpy((char*)sta_config.sta.ssid, "ESP32_STA"); // 设置路由器的SSID
strcpy((char*)sta_config.sta.password, "12345678"); // 设置路由器的密码
esp_wifi_set_mode(WIFI_MODE_STA); // 设置ESP32 WIFI模式

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的 IP 地址,如下图所示:


06_WIFI_AP

【程序说明】

  • 把开发板设置成 WIFI AP 模式,其余 STA 设备可连接该 AP,连接成功之后将获取设备 MAC 打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

nvs_flash_init();                                     // 初始化 NVS(非易失性存储),用于保存 Wi-Fi 配置等数据
esp_netif_init(); // 初始化 TCP/IP 栈,网络通信所需
esp_event_loop_create_default(); // 创建默认 事件循环,用于系统事件分发(如 Wi-Fi 事件)
esp_netif_create_default_wifi_sta(); // 创建默 认 Wi-Fi STA(Station)接口,用于连接路由器
esp_netif_create_default_wifi_ap(); // 创建默 认 Wi-Fi AP(Access Point)接口,用于自身提供热点
strcpy((char*)ap_config.ap.ssid, "ESP32_AP"); // 设置 AP(热点)的 SSID 名称为 "ESP32_AP"
strcpy((char*)ap_config.ap.password, "12345678"); // 设置 AP 密码为 "12345678"(至少8位)
ap_config.ap.max_connection = 4; // 设置最多允许 4 台设备同时连接到 AP
ap_config.ap.authmode = WIFI_AUTH_WPA_WPA2_PSK; // 设置认证模式为 WPA/WPA2 PSK(密码验证)
esp_wifi_set_mode(WIFI_MODE_AP); // 将 Wi-Fi 模式设置为 AP 模式(仅热点)
esp_wifi_set_config(WIFI_IF_AP, &ap_config); // 应用 AP 配置,使 Wi-Fi 热点生效

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的 MAC 地址,如下图所示:


07_Audio_Test

【程序说明】

  • 通过驱动 ES8311 和 ES7210 Codec 芯片,实现录音、播放等功能。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

esp_err_t play_pcm_from_spiffs(uint8_t *play_buf, const char *file_path,bool *Music_flag); // 从spiffs文件系统里面读取音频数据,然后进行播放
void fac_play_read_storage(uint8_t *play_buf); // 从文件系统读取二进制录音数据,然后进行播放
void fac_rec_write_storage(uint8_t *rec_buf,size_t max_size); // 把录音数据保存到spiffs里面

【运行效果】

  • 程序编译下载完成,可看到开发板显示内容,如下图所示:


    提示
    1. 点击 Recording 可录音,录音时间 3 秒
    2. 点击 Play Recording 可播放录音
    3. 点击 Play Music 可播放音乐
    4. 点击 Stop Music 可暂停音乐

08_LVGL_V8_Test

【程序说明】

  • 通过移植 LVGL V8 ,可帮助用户快速上手 UI 设计。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

#define Brightness_Test_EN  1 // 置 0 关闭背光测试,默认置 1 
Custom_PmicPortInit(&user_i2cbus,0x34); // 初始化电源 IC
user_display = new DisplayPort(user_i2cbus,480,480); // 初始化 屏幕
user_display->DisplayPort_TouchInit(); // 初始化 触摸
Lvgl_PortInit(*user_display); // LVGL 接口初始化

【运行效果】

  • 程序编译下载完成,可看到开发板显示内容,如下图所示:


09_LVGL_V9_Test

【程序说明】

  • 通过移植 LVGL V9 ,可帮助用户快速上手 UI 设计。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

#define Brightness_Test_EN  1 // 置 0 关闭背光测试,默认置 1 
Custom_PmicPortInit(&user_i2cbus,0x34); // 初始化电源 IC
user_display = new DisplayPort(user_i2cbus,480,480); // 初始化 屏幕
user_display->DisplayPort_TouchInit(); // 初始化 触摸
Lvgl_PortInit(*user_display); // LVGL 接口初始化

【运行效果】

  • 程序编译下载完成,可看到开发板显示内容,如下图所示:



ESP-IDF

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

ESP-IDF 入门教程

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

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

配置 ESP-IDF 开发环境

信息

对于 ESP32-C6-Touch-AMOLED-2.16 开发板,基于 ESP-IDF V5.5.2 开发,建议使用相同版本测试开发,其他版本可能存在兼容性问题

备注

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

安装 ESP-IDF 开发环境

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

    在页面中点击 Offline Installer 标签,然后在筛选栏中选择 Windows 操作系统和你要安装的版本。


    确认选择无误后,点击下载按钮。浏览器将自动同时下载两个文件:一个是 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_AXP2101_Test驱动 AXP2101 电源管理芯片,获取相关电源信息-
02_I2C_QMI8658打印 QMI 芯片的原始姿态数据-
03_I2C_PCF85063打印 RTC 芯片的实时时间-
04_SD_Card加载显示 SD 卡的信息-
05_WIFI_STA设置为 STA 模式,可接入 AP 获取 IP 地址-
06_WIFI_AP设置为 AP 模式,可获取接入设备的 IP 地址-
07_Audio_Test扬声器播放麦克风录到的声音-
08_LVGL_V8_TestLVGLV8 例程LVGL V8.*
09_LVGL_V9_TestLVGLV9 例程LVGL V9.*
10_FactoryProgram综合示例LVGL V9.*

01_AXP2101_Test

【程序说明】

  • 通过驱动 AXP2101 获取电源信息,并打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

axp2101.setDC1Voltage(3300);    //设置DCDC1电压值3.3V
axp2101.setALDO1Voltage(3300); //设置ALDO1电压值3.3V
axp2101.setALDO2Voltage(3300); //设置ALDO2电压值3.3V
axp2101.setALDO3Voltage(3300); //设置ALDO3电压值3.3V
axp2101.setALDO4Voltage(3300); //设置ALDO4电压值3.3V
axp2101.setPrechargeCurr(XPOWERS_AXP2101_PRECHARGE_50MA); //设置预充电流50ma
axp2101.setChargerConstantCurr(XPOWERS_AXP2101_CHG_CUR_500MA);//设置恒流充电电流500ma
axp2101.setChargerTerminationCurr(XPOWERS_AXP2101_CHG_ITERM_50MA);//设置截止充电电流50ma
axp2101.getBattVoltage(); //获取锂电池电压

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的电源信息,如下图所示:


02_I2C_QMI8658

【程序说明】

  • 通过驱动 QMI8658 获取姿态信息,并打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

qmi8658_set_accel_range(&qmi8658, QMI8658_ACCEL_RANGE_8G);// 设置加速度计量程为 ±8G(G=重力加速度)
qmi8658_set_accel_odr(&qmi8658, QMI8658_ACCEL_ODR_1000HZ);// 设置加速度计输出数据速率为 1000Hz(每秒1000次采样)
qmi8658_set_gyro_range(&qmi8658, QMI8658_GYRO_RANGE_512DPS);// 设置陀螺仪量程为 ±512°/s(每秒最大旋转角速度)
qmi8658_set_gyro_odr(&qmi8658, QMI8658_GYRO_ODR_1000HZ);// 设置陀螺仪输出数据速率为 1000Hz
qmi8658_set_accel_unit_mps2(&qmi8658, true);// 设置加速度计输出单位为 m/s²(米/秒²)
qmi8658_set_gyro_unit_rads(&qmi8658, true);// 设置陀螺仪输出单位为 rad/s(弧度/秒)
qmi8658_set_display_precision(&qmi8658, 4);// 设置数据输出/打印的精度为 4 位小数

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的姿态信息,如下图所示:


03_I2C_QMI8658

【程序说明】

  • 通过驱动 PCF85063 设置时间、获取时间,并打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

pcf85063a_datetime_t datatime = {
.year = 2026,
.month = 1,
.day = 1,
.hour = 8,
.min = 0,
.sec = 0
};
pcf85063a_set_time_date(&pcf85063, datatime); /*设置起始时间2026/1/1 08:00:00*/
pcf85063a_get_time_date(&pcf85063, &datatime); /*获取当前的时间*/

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的 RTC 时间,如下图所示:


04_SD_Card

【程序说明】

  • 使 SDSPI 的方式驱动 SD Card,并将 SD Card 信息打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

esp_vfs_fat_sdspi_mount(SdName_, &host, &slot_config, &mount_config, &sdCardHead); //挂载 sdcard 到 fatfs 文件系统
int SDPort_WriteFile(const char *path, const void *data, size_t data_len); //往文件写数据
int SDPort_ReadFile(const char *path, uint8_t *buffer, size_t *outLen); //从文件读取数据
int SDPort_ReadOffset(const char *path, void *buffer, size_t len, size_t offset); //带有偏移量从文件读取数据
int SDPort_WriteOffset(const char *path, const void *data, size_t len, bool append); //带有偏移量从文件写数据

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的 SD Card 信息,如下图所示:


05_WIFI_STA

【程序说明】

  • 把开发板设置成 WIFI STA 模式,可连接 AP 路由器,并将获取 IP 地址打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

nvs_flash_init();                                     // 初始化 NVS(非易失性存储),用于保存 Wi-Fi 配置等数据
esp_netif_init(); // 初始化 TCP/IP 栈,网络通信所需
esp_event_loop_create_default(); // 创建默认 事件循环,用于系统事件分发(如 Wi-Fi 事件)
esp_netif_create_default_wifi_sta(); // 创建默 认 Wi-Fi STA(Station)接口,用于连接路由器
esp_netif_create_default_wifi_ap(); // 创建默 认 Wi-Fi AP(Access Point)接口,用于自身提供热点
strcpy((char*)sta_config.sta.ssid, "ESP32_STA"); // 设置路由器的SSID
strcpy((char*)sta_config.sta.password, "12345678"); // 设置路由器的密码
esp_wifi_set_mode(WIFI_MODE_STA); // 设置ESP32 WIFI模式

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的 IP 地址,如下图所示:


06_WIFI_AP

【程序说明】

  • 把开发板设置成 WIFI AP 模式,其余 STA 设备可连接该 AP,连接成功之后将获取设备 MAC 打印到终端。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

nvs_flash_init();                                     // 初始化 NVS(非易失性存储),用于保存 Wi-Fi 配置等数据
esp_netif_init(); // 初始化 TCP/IP 栈,网络通信所需
esp_event_loop_create_default(); // 创建默认 事件循环,用于系统事件分发(如 Wi-Fi 事件)
esp_netif_create_default_wifi_sta(); // 创建默 认 Wi-Fi STA(Station)接口,用于连接路由器
esp_netif_create_default_wifi_ap(); // 创建默 认 Wi-Fi AP(Access Point)接口,用于自身提供热点
strcpy((char*)ap_config.ap.ssid, "ESP32_AP"); // 设置 AP(热点)的 SSID 名称为 "ESP32_AP"
strcpy((char*)ap_config.ap.password, "12345678"); // 设置 AP 密码为 "12345678"(至少8位)
ap_config.ap.max_connection = 4; // 设置最多允许 4 台设备同时连接到 AP
ap_config.ap.authmode = WIFI_AUTH_WPA_WPA2_PSK; // 设置认证模式为 WPA/WPA2 PSK(密码验证)
esp_wifi_set_mode(WIFI_MODE_AP); // 将 Wi-Fi 模式设置为 AP 模式(仅热点)
esp_wifi_set_config(WIFI_IF_AP, &ap_config); // 应用 AP 配置,使 Wi-Fi 热点生效

【运行效果】

  • 程序编译下载完成,打开串口监控可以看到打印输出的 MAC 地址,如下图所示:


07_Audio_Test

【程序说明】

  • 通过驱动 ES8311 和 ES7210 Codec 芯片,实现录音、播放等功能。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

esp_err_t play_pcm_from_spiffs(uint8_t *play_buf, const char *file_path,bool *Music_flag); // 从spiffs文件系统里面读取音频数据,然后进行播放
void fac_play_read_storage(uint8_t *play_buf); // 从文件系统读取二进制录音数据,然后进行播放
void fac_rec_write_storage(uint8_t *rec_buf,size_t max_size); // 把录音数据保存到spiffs里面

【运行效果】

  • 程序编译下载完成,可看到开发板显示内容,如下图所示:


    提示
    1. 点击 Recording 可录音,录音时间 3 秒
    2. 点击 Play Recording 可播放录音
    3. 点击 Play Music 可播放音乐
    4. 点击 Stop Music 可暂停音乐

08_LVGL_V8_Test

【程序说明】

  • 通过移植 LVGL V8 ,可帮助用户快速上手 UI 设计。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

#define Brightness_Test_EN  1 // 置 0 关闭背光测试,默认置 1 
Custom_PmicPortInit(&user_i2cbus,0x34); // 初始化电源 IC
user_display = new DisplayPort(user_i2cbus,480,480); // 初始化 屏幕
user_display->DisplayPort_TouchInit(); // 初始化 触摸
Lvgl_PortInit(*user_display); // LVGL 接口初始化

【运行效果】

  • 程序编译下载完成,可看到开发板显示内容,如下图所示:


09_LVGL_V9_Test

【程序说明】

  • 通过移植 LVGL V9 ,可帮助用户快速上手 UI 设计。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【代码分析】

#define Brightness_Test_EN  1 // 置 0 关闭背光测试,默认置 1 
Custom_PmicPortInit(&user_i2cbus,0x34); // 初始化电源 IC
user_display = new DisplayPort(user_i2cbus,480,480); // 初始化 屏幕
user_display->DisplayPort_TouchInit(); // 初始化 触摸
Lvgl_PortInit(*user_display); // LVGL 接口初始化

【运行效果】

  • 程序编译下载完成,可看到开发板显示内容,如下图所示:


10_FactoryProgram

【程序说明】

  • 出厂固件,用户可烧录我们提供的出厂固件,帮助用户快速了解开发板。

【硬件连接】

  • 使用 USB 线把板子接入电脑

【运行效果】

  • 烧录出厂固件重启之后,可看到开发板显示内容,如下图所示:


相关资料

1. 硬件资料

开发板设计文件

2. 技术手册

3. 示例程序

技术支持

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

手机:13434470212

邮箱:services04@spotpear.cn

QQ:202004841