0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

esp32c3 lvgl 合宙

分享:

在合宙的 ESP32-C3 开发板(如 Air101/Air103)上使用 LVGL(Light and Versatile Graphics Library)进行图形界面开发,可以按照以下步骤操作:


1. 环境准备

  • 硬件

    • 合宙 ESP32-C3 开发板(如 Air101/Air103)。
    • 支持的显示屏(如 SPI 或 I2C 接口的 TFT 屏幕,常见型号如 ST7789、ILI9341 等)。
    • 触摸屏(可选,如 XPT2046 触摸芯片)。
  • 软件

    • 开发框架:推荐使用 Arduino IDEESP-IDF(根据项目需求选择)。
    • LVGL 库:通过 Arduino 库管理器安装,或从 LVGL 官方 GitHub 手动集成。

2. 硬件连接

根据屏幕型号连接 ESP32-C3 的 SPI/I2C 引脚,例如:

  • SPI 屏幕(以 ST7789 为例)

    MOSI -> GPIOxx
    SCLK -> GPIOxx
    CS   -> GPIOxx
    DC   -> GPIOxx
    RES  -> GPIOxx
    BL   -> GPIOxx(背光控制)
  • I2C 触摸屏(如 XPT2046)

    SDA -> GPIOxx
    SCL -> GPIOxx
    IRQ -> GPIOxx(中断引脚,可选)

3. 配置 LVGL

Arduino 环境

  1. 安装 LVGL 库:通过 Arduino IDE 的库管理器搜索并安装 lvgl
  2. 安装 显示屏驱动库:如 TFT_eSPIAdafruit_GFX
  3. 修改配置文件(以 TFT_eSPI 为例):
    • 在 Arduino 库目录中找到 TFT_eSPI/User_Setup.h,根据屏幕型号和引脚定义修改宏。

ESP-IDF 环境

  1. 将 LVGL 作为组件添加到工程中,配置 menuconfig 设置 SPI/I2C 参数。
  2. 编写屏幕驱动代码(或使用现成驱动)。

4. 示例代码(Arduino)

#include <lvgl.h>
#include <TFT_eSPI.h>

TFT_eSPI tft = TFT_eSPI();

// 定义 LVGL 显示和输入设备回调函数
void my_disp_flush(lv_disp_drv_t *disp, const lv_area_t *area, lv_color_t *color_p) {
  uint32_t w = area->x2 - area->x1 + 1;
  uint32_t h = area->y2 - area->y1 + 1;
  tft.startWrite();
  tft.setAddrWindow(area->x1, area->y1, w, h);
  tft.pushColors((uint16_t *)color_p, w * h, true);
  tft.endWrite();
  lv_disp_flush_ready(disp);
}

void setup() {
  // 初始化屏幕
  tft.begin();
  tft.setRotation(3);
  tft.fillScreen(TFT_BLACK);

  // 初始化 LVGL
  lv_init();
  static lv_disp_draw_buf_t draw_buf;
  static lv_color_t buf[TFT_WIDTH * 10];
  lv_disp_draw_buf_init(&draw_buf, buf, NULL, TFT_WIDTH * 10);

  // 注册显示驱动
  lv_disp_drv_t disp_drv;
  lv_disp_drv_init(&disp_drv);
  disp_drv.flush_cb = my_disp_flush;
  disp_drv.draw_buf = &draw_buf;
  lv_disp_drv_register(&disp_drv);

  // 创建简单界面
  lv_obj_t *label = lv_label_create(lv_scr_act());
  lv_label_set_text(label, "Hello, 合宙 ESP32-C3!");
  lv_obj_center(label);
}

void loop() {
  lv_timer_handler();
  delay(5);
}

5. 常见问题

  • 屏幕无显示:检查引脚定义、屏幕初始化代码及背光控制。
  • LVGL 卡顿:减少界面复杂度,或增大 LV_MEM_SIZE(在 lv_conf.h 中配置)。
  • 触摸不响应:确认触摸屏驱动和中断配置。

6. 资源推荐


如有具体屏幕型号或问题,可进一步提供细节,帮你排查!

深入剖析esp32c3的系统底层启动

riscv底层的爱好者来说,跳过ESP-IDF框架,直接像使用单片机一样去使用ESP32C3更加有意思。本文的目的就是理解ESP32C3的裸机开发流程,像玩单片机一样去使用这个riscv的mcu。 2.esp32c3分析对于esp32c3玩法,从玩家来看可能更加类似ESP8266,相比8266,可以做如下表格

2021-07-06 10:38:53

新品上市 | ESP32-S3开发板

穿越万水千山,奔赴与工程师朋友的约定——ESP32-S3超值MCU开发板,来了!1ESP32-S3开发板简介CORE-ESP32S3是基于乐鑫ESP32-S3芯片进行设计的一款MCU

2023-01-13 15:53:51

ESP32-S3开发板特性解读

穿越万水千山,奔赴与工程师朋友的约定——ESP32-S3超值MCU开发板,来了! 1 ESP32-S3开发板简介 CORE-ESP32S3是基于乐鑫ESP32-S3芯片进行设计的一款

2023-01-11 18:45:13

【开源资料】使用ESP32C3超简单制作迷你四足机器人

主板隐藏到了机壳内,电池使用16240锂电池。 esp32c3使用的9.9的esp32c3开发板,大大的简化了电路的设计,需要自行焊接的零件只有十几个,非常容易。 遥控软件使用微信小程序开发,由于

旧念 2023-09-21 11:15:37

便宜好玩,量产无忧!ESP32-C3开发板超值简约款来了

总被抢断货的ESP32-C3核心板,原是回馈行业的一个福利。不仅深受广大开发爱好者的喜爱,“十块钱不白花,一年四季都用它”;也常有行业客户询问:量产应用可以做到9.9元吗?很有挑战,但给出

2022-06-16 10:33:14

基于ESP32C3的智能小车设计

你有没有想过,从零开始亲手制作一辆坚固耐用的遥控越野车?今天,小编就带你走进一个融合机械、电子与物联网的精彩DIY项目——一款由 Seeed Studio XIAO ESP32C3 强力驱动的 3D打印4x4 RC漫游车!

2025-06-04 11:11:29

关于esp32c3的i2c问题

最近在搞一块esp32c3的系统板,在做i2c驱动oled0.96显示屏时发现,无论你发什么数据,(用逻辑分析仪)分析发现它都只能输出器件的地址并且很多(库采用的是乐鑫的idf,开发环境采用

jf_88900595 2022-08-12 12:54:42

新鲜出炉!LuatOS墨水屏+ESP32C3开发板,自制在线电纸书

ESP32C3开发板,我们就可以用LuatOS驱动这块墨水屏来做一个在线电纸书了。-LuatOS在线电纸书-接下来,让我们一起看看制作LuatOS在线电纸书的要点

2022-07-19 17:53:49

快来!炫酷好玩的像素时钟&amp;音乐频谱,ESP32-C3开发板创意DIY分享

这样的季节,有人赞秋叶之静美,有人叹秋风之悲凉,我们的工程师朋友则是连连催货忙~刚到手 CC表 ,又来催上市一年多仍风头不减的 “DIY神器” ESP32-C3开发板。 今天不仅补货到了

2023-10-20 14:55:03

ESP32S3-WEB页面显示摄像头图像介绍

ESP32S3核心板是基于乐鑫ESP32-S3进行设计的一款核心板,尺寸仅有21mm*51mm,板边采用邮票孔设计,方便开发者在不同场景下的使用。

2023-04-14 09:39:58

ESP32C3开发板烧录失败问题

\"ESP32C3开发板\",用VScode + ESP-IDF烧录失败-&gt;设备不识别此命令 请问有人遇到过这种烧录失败的问题吗?同个板子同个固件前几次烧录还是

jf_21833741 2023-05-09 19:49:34

炫酷好玩的像素时钟&amp;amp;音乐频谱,ESP32-C3开发板创意DIY分享

这样的季节,有人赞秋叶之静美,有人叹秋风之悲凉,我们的工程师朋友则是连连催货忙~刚到手CC表,又来催上市一年多仍风头不减的“DIY神器”ESP32-C3开发板。今天不仅补货到了,还要特别

2023-10-21 08:04:56

使用idf开发esp32c3,使用i2c外设时报错怎么解决?

过多个,包括4、5、6、8、9,都是如此。实验使用的esp32c3版。后来又使用安可信的esp32(非c3),额外编写esp32工程,现象依然如此。实验使用的idf为v4.4-release分支。开发环境

keith3000 2023-02-13 07:27:22

基于XIAO ESP32C3的智能家居四路控制器设计

今天小编给大家带来的是印度的Maker Technolab creation的基于ESP32C3的智能家居四路控制器,该控制器可以通过传统的手动开关按钮、红外遥控器、智能手机进行控制,同时手机上也可以实时显示温度和湿度,可以实现无缝衔接的智能家居体验。

2024-01-02 10:53:24

ESP32C3 I2C no ack无应答怎么解决?

过多个,包括4、5、6、8、9,都是如此。实验使用的esp32c3版。后来又使用安可信的esp32(非c3),额外编写esp32工程,现象依然如此。实验使用的idf为v4.4-release分支。开发环境

60user157 2023-03-07 08:45:57

esp32c3连接wifi和tcp服务器速度能否加快,esp8266 速度在5-7s左右,esp32c3能否加快?

你好我想使用esp32c3开发低功耗设备,由外部电子开关控制1小时检测一次传感器并上传,考虑到芯片功耗我有几个疑问;1:esp32c3 在160mhz 80mhz下的正常工作电流是多少也

Lucia_nie 2023-02-17 06:44:57

基于nanoESP32-C3开发板用ESP32-c3下试跑Zephyr

esp32c3编译和下载 编译环境的搭建和esp32差别不大,参考文章Zephyr ESP32环境搭建即可,主要差别是toolchain的位置,修改环境变量即可 1 export ESPRESSIF_TOOLCHAIN_PATH=“${HOME}/.espr

2021-08-09 09:10:37

【AI技术支持】ESP32C3 开发板在Linux环境下,进行JTAG 调试演示

启明云端/01JTAG调试工具本教程主要演示ESP32C3开发板在linux环境下,通过vscode的ESP-IDF插件使用JTAG调试工具。ESP32C3不但内置了USB-JTAG,还内置了

2024-10-17 08:01:13

请问esp32C3可以做蓝牙mesh网关吗?

esp32c3可以做蓝牙mesh网关吗?,我现在用2个esp32c3做蓝牙mesh,另外一个esp32c3做网关,能互相通讯,这个是否可以实现了?

小芳 2023-02-10 08:14:05

请问esp32C3可以做蓝牙mesh网关 吗?

esp32c3可以做蓝牙mesh网关吗?,我现在用2个esp32c3做蓝牙mesh,另外一个esp32c3做网关,能互相通讯,这个是否可以实现了?

60user157 2023-03-06 07:03:54

【DFRobot Beetle ESP32-C3开发板试用体验】刷写micropython固件

esp32-c3的支持,注意选择USB固件( DFRobot Beetle ESP32-C3是通过内置usb虚拟串口的 ): 安装乐鑫烧写环境,烧写命令:esptool.py --chip esp32c3

2022-11-28 14:02:15

esp32c3不能操纵RTC引脚而只能保持它们或被唤醒吗?

我想在存根函数中操作(输入,输出)我的ESP32C3的RTC PINS。但我开始怀疑 esp32c3 是否有能力做到这一点……确实,在功能存根中,我尝试了以下方法但没有成功:[size=150

dsdfshf 2023-04-14 07:30:09

esp32-s3芯片esp-idf-v4.4-dev编译带LVGL工程出错怎么解决?

esp32s3。然后编译以往esp-idf-v4.2.2能正常编译的带LVGL工程,出现如下错误:......................................[72/86

DH9527 2023-03-03 08:30:46

esp32c3不能操纵RTC引脚而只能保持它们或被唤醒吗?

我想在存根函数中操作(输入,输出)我的ESP32C3的RTC PINS。但我开始怀疑 esp32c3 是否有能力做到这一点……确实,在功能存根中,我尝试了以下方法但没有成功:[size=150

tulin 2023-03-02 08:32:10

开源 | ESP32开发板+WS2812+触摸屏,自制创意&amp;quot;像素盒子&amp;quot;,还让ChatGPT写代码!

便宜、好用、颜值高!ESP32C3系列MCU开发板上市一年多来,不仅是工程师朋友可以人手N个的宝藏开发板,更成为许多行业客户降本增效的量产利器。工程师朋友的奇思妙想,常赋予小小开发板独特

2023-06-09 09:52:38

ESP32C3 SPIFFS始终mount失败的原因?

使用的是arduinoesp32 2.0.3 sdk用的是esp32的 SPIFFS -> SPIFFS_Test例程使用的是esp32-c3的开发板15:51:47.177 ->

wufan931111 2023-02-14 08:15:40

开源 | ESP32开发板+WS2812+触摸屏,自制创意"像素盒子",还让ChatGPT写代码!

便宜、好用、颜值高!ESP32C3系列MCU开发板上市一年多来,不仅是工程师朋友可以人手N个的宝藏开发板,更成为许多行业客户降本增效的量产利器。 工程师朋友的奇思妙想,常赋予小小开发板独特

2023-06-05 17:00:01

esp32-s3芯片esp-idf-v4.4-dev编译带LVGL工程出错怎么解决?

esp32s3。然后编译以往esp-idf-v4.2.2能正常编译的带LVGL工程,出现如下错误:......................................[72/86

Tussi 2023-03-08 06:55:30

使用ESP32C3,用ESP-IDF编译bt_hid_mouse_device例程失败报错如何解决?

补充:配置为esp32,是可以编译成功的,而在设置为esp32s3esp32c3之后编译会出现以下报错(编译bt_hid_mouse_device例程)。而在使用其他例程是可以编译成功并烧录

麻酱 2023-02-14 08:27:31

加载更多
相关标签