当前位置:网站首页>【LVGL(1)】LVGL的简单介绍
【LVGL(1)】LVGL的简单介绍
2022-07-24 05:24:00 【喜暖知寒】
计划学习一下LVGL,所以记录一下学习过程。
LVGL官网

其代码都是放在 Github 上的
GitHub - lvgl/lvgl: Powerful and easy-to-use embedded GUI library with many widgets, advanced visual effects (opacity, antialiasing, animations) and low memory requirements (16K RAM, 64K Flash).
https://github.com/lvgl/lvgl要善于利用 Gitee 的“Github加速”功能!
Gitee 又要审核代码,好麻烦。不如仅仅当个 Github 的加速器用。
Github 仓库

居然README还有中文!!对我这英语小白也太好了!

这有英文有啥用啊!官方文档又没有中文,还是好难啊!!!
LVGL的条件简单介绍
| 要求 | 最低要求 | 建议要求 |
|---|---|---|
| 架构 | 16、32、64位微控制器或微处理器 | |
| 时钟 | > 16 MHz | > 48 MHz |
| Flash/ROM | > 64 kB | > 180 kB |
| Static RAM | > 16 kB | > 48 kB |
| Draw buffer | > 1 × hor. res. pixels | > 1/10屏幕大小 |
| 编译器 | C99或更新 | |
这样看,我想用STM32C6T6的想法就泡汤了啊!!!!好难啊
想想用ESP32学LVGL吧!STM32ZET6是不是也行??
看看情况吧,淘一个开发板!
LVGL本身并不依赖特定的硬件平台,任何满足LVGL硬件配置要求的微控制器均可运行。
特性:
- 丰富且强大的模块化图形组件:按钮 (buttons)、图表 (charts)、列表 (lists)、滑动条 (sliders)、图片 (images) 等
- 高级的图形引擎:动画、抗锯齿、透明度、平滑滚动、图层混合等效果
- 支持多种输入设备:触摸屏、 键盘、编码器、按键等
- 支持多显示设备
- 不依赖特定的硬件平台,可以在任何显示屏上运行
- 配置可裁剪(最低资源占用:64 kB Flash,16 kB RAM)
- 基于UTF-8的多语种支持,例如中文、日文、韩文、阿拉伯文等
- 可以通过类CSS的方式来设计、布局图形界面(例如:Flexbox、Grid)
- 支持操作系统、外置内存、以及硬件加速(LVGL已内建支持STM32 DMA2D、SWM341 DMA2D、NXP PXP和VGLite)
- 即便仅有单缓冲区(frame buffer)的情况下,也可保证渲染如丝般顺滑
- 全部由C编写完成,并支持C++调用
- 支持Micropython编程,参见:LVGL API in Micropython
- 支持模拟器仿真,可以无硬件依托进行开发
- 丰富详实的例程
- 详尽的文档以及API参考手册,可线上查阅或可下载为PDF格式
如何入门:
- 使用网页在线例程来体验LVGL(3分钟)
- 阅读文档简介章节来初步了解LVGL(5分钟)
- 再来阅读一下文档快速快速概览章节来了解LVGL的基本知识(15分钟)
- 学习如何使用模拟器来在电脑上仿真LVGL(10分钟)
- 试着动手实践一些例程
- 参考移植指南尝试将LVGL移植到一块开发板上,LVGL也已经提供了一些移植好的工程
- 仔细阅读文档总览章节来更加深入的了解和熟悉LVGL(2-3小时)
- 浏览文档组件(Widgets)章节来了解如何使用它们
- 如果你有问题可以到LVGL论坛提问
- 阅读文档如何向社区贡献章节来看看你能帮LVGL社区做些什么,以促进LVGL软件质量的不断提高(15分钟)
这么简单吗???这不是一会就能看明白???我不信!不可能!
LVGL模拟器
LVGL还有模拟器,这就不用先考虑开发板了嘛!!!
优点:
- 独立于硬件 - 编写代码,在 PC 上运行并在 PC 显示器上查看结果。
- 跨平台 - 任何 Windows、Linux 或 OSX PC 都可以运行 PC 模拟器。
- 可移植性 - 编写的代码是可移植的,这意味着您可以在使用嵌入式硬件时简单地复制它。
- 轻松验证 - 模拟器对于报告错误也非常有用,因为它意味着每个用户的通用平台。 因此,在模拟器中重现错误并使用 论坛 。
关于安装方面就看LVGL的文档吧
STM32
官方文档给我弄蒙了?

这不是啥都没有嘛。。。。我咋整??
ESP32
反正ESP32用Arduino好用,就看Arduino就行了吧。
由于 v7.7.1 LVGL 包含 Kconfig 文件,因此 LVGL 可以用作 ESP-IDF v4 组件。

Arduino
The core LVGL library and the examples are directly available as Arduino libraries.
LVGL核心库和示例可直接用于Arduino库。

要注意版本问题,不同版本还是有差异的!!
其实的话,不同平台的内核都一样吧,从这个平台显示好移植到另一个平台应该不难吧!
1️⃣LVGL官方文档:LVGL官方文档
https://docs.lvgl.io/latest/en/html/index.html2️⃣正点原子的LVGL教程:正点原子LVGL教程
http://www.openedv.com/docs/book-videos/zdyzshipin/4free/littleVGL.html3️⃣荔枝派Nano的LVGL教程:荔枝派Nano的LVGL教程
http://nano.lichee.pro/application/littlevgl.html4️⃣野牛开发板的 lvgl 6.0 例程:野牛开发板的 lvgl 6.0 例程
https://gitee.com/mzy2364/LittlevGL_Demo5️⃣LVGL官方例程:LVGL官方例程
https://github.com/lvgl/lv_demos好了,这算是初识LVGL啦 ~

后续更新 ~
边栏推荐
- The character that appears the most times in the JS output string
- Pycharm set code template
- Custom MVC 2.0
- 使用自定义zabbix包(4.0.5版本)安装agent和proxy
- rsync(一):基本命令和用法
- Summary browser object
- Write blog at leisure ~ briefly talk about let, VaR and Const
- MySQL批量修改数据表编码及字符集为utf8mb4
- Animation effect
- Process and planned task management
猜你喜欢

服务器硬件及RAID配置实战

文件系统与日志分析

Jmeter分布式压测

System safety and Application

带你深入了解MySQL数据库扣减库存原理

Leetcode sword finger offer jz23: the entry node of the link in the linked list

Process and planned task management

Wasm vs EVM, Boca's choice predicts the future of the public chain

Transition effect

RAID5 and LVM are used in combination
随机推荐
Yiwen node installation, download and configuration
ES10 subtotal flat and flatmap
FTP service and experiment
DNS域名解析服务
Server hardware and RAID configuration practice
【LVGL(5)】标签的(label)用法
United Nations agricultural products data analysis
Leetcode sword finger offer JZ9 dual stack implementation queue
Jmeter分布式压测
LM393 电压比较器及其典型电路介绍
General paging 2.0
Flink time stream processing
[251] common test tools
日志收集分析平台
DNS domain name resolution service
Install Apache manually
Leetcode refers to offer jz5 to replace the space string
系统安全及应用
PXE technology network installation
[301] grotesque behavior - predictable irrationality
https://lvgl.io/