Skip to content

Latest commit

 

History

History
90 lines (61 loc) · 2.78 KB

lvgl_gui.rst

File metadata and controls

90 lines (61 loc) · 2.78 KB

LVGL 图形库

:link_to_translation:en:[English]

LVGL 是一个 C 语言编写的免费的开源图形库,提供了用于嵌入式 GUI 的各种元素。用户可以利用丰富的图形库资源,在消耗极低内存的情况下构建视觉效果丰富多彩的 GUI 。

主要特性

LVGL 具有以下特性:

  • 超过 30 多种丰富的用户自定义控件,如按钮,滑条,文本框,键盘等
  • 支持各种分辨率的屏幕,适配性好
  • 接口简单,内存占用少
  • 支持多个输入设备
  • 提供抗锯齿,多边形,阴影等多种绘图元素
  • 采用 UTF-8 编码,支持多语言,多字体的文本
  • 支持各种图片类型,可从 Flash 和 SD 卡中读取图片显示
  • 提供在线图片取模工具
  • 支持 Micropython

配置要求

运行 LVGL 的最低配置要求如下:

  • 16、32、64 位的微控制器或处理器
  • 时钟频率:大于 16 MHz
  • Flash/ROM:大于 64 kB(推荐 180 kB)
  • RAM:8 kB(推荐 24 kB)
  • 需要一个帧缓存区
  • 显示缓存:至少大于水平分辨率的像素
  • C99 或更高版本的编译器

在线工具

LVGL 提供了在线的 字模提取工具图片取模工具

示例方案

Note

以下示例不再维护,LCD 以及 LVGL 示例请参考: i80_controllerrgb_panelspi_lcd_touch

官方例程

LVGL 官方提供了 ESP32 上使用 LVGL 的 LVGL ESP32 示例程序

除此之外,在 ESP-IoT-Solution 中也提供了一些应用 LVGL 的实例:

thermostat

使用 LVGL 设计了一个恒温计控制的界面:

相应例程在 hmi/lvgl_thermostat

coffee

使用 LVGL 绘制了一个咖啡机的交互界面:

相应例程在 hmi/lvgl_coffee

wificonfig

ESP32 连接 Wi-Fi,利用 LVGL 绘制的 Wi-Fi 连接界面,可以显示附近 Wi-Fi 信息,在屏幕上输入密码等。

相应例程在 hmi/lvgl_wificonfig