当前位置: 首页 > 工具软件 > LVGL > 使用案例 >

【LVGL】简介

景宏盛
2023-12-01

简介

LVGL是一个轻量级的嵌入式图形库

打开LVGL的官网,我们可以看到这样一句话:Light and Versatile Graphics Library(轻便且多功能的图形库)

轻便性

轻便主要体现在只需要很少的硬件资源就可以运行:
按照官网的对硬件资源的要求:

  • 支持16、32和64bit的Microcontroller or processor
  • >16MHz的主时钟频率
  • >64KB的Flash/ROM空间(推荐180KB以上)
  • >8KB的RAM(推荐24KB以上)
  • 1帧的缓存空间,可以是MCU内部,外挂RAM或者显示驱动芯片
  • 图形缓存只要求最低有一行的显存大小(一行的水平分辨率大小的显存)(推荐是1/10的显存大小)
  • 最少需要C99以上的编译器
  • 基于C语言(少量基于C++),指针、结构体、回调。

多功能

多功能主要体现在几个地方:

widget(部件)

支持30多个部件,如按键、下拉列表、图标等,非常丰富。

显示

  • 支持任意分辨率的屏幕,从单色的显示到,到全彩的显示器,都可以支持。
  • 支持GPU加速
  • 支持多个显示器显示
  • 自定义颜色格式
  • 有非常灵活的缓存模式

输入设备

  • 支持一个屏幕多个输入设备
  • 输入接口非常简单
  • 支持拖动、滚动
  • 支持手势识别
  • 支持键盘、解码器等非触摸设备

画图

  • 支持阴影、线、弧形、倒角

文本特征

  • 支持UTF-8
  • 在线和离线的字体转换器,我们可以根据LVGL官方提供的字体转换器生成我们想要的字体

图像特征

  • 支持图像旋转
  • 支持RGB、ARGB
  • 支持实时着色
  • 图片可以保存在flash或者文件中
  • 图片也支持在线、离线转换器

样式

  • 支持CSS的层叠样式

支持MicroPython

  • 除了使用C语言还可以使用MicroPython来开发LVGL
  • 支持在线模拟器
  • 支持ESP32开发

开源协议

LVGL是遵循MIT的开源协议,这个协议非常灵活

  • 完全开源
  • 基于C语言编写的
  • 托管在GitHub
  • 在MIT开源协议的约束下,自由使用。

开发参考手册

LVGL官网为我们提供了非常详细的开发手册:https://docs.lvgl.io
国内可以访问百问网的LVGL中文站点:http://lvgl.100ask.net

 类似资料: