1. 前言

lvgl官方的教程是英文的,这个是我在做项目时根据lvgl官方文档做出来的lvgl中文文档(持续更新维护),不仅仅只是生硬照搬lvgl官方文档的翻译,同时总结了我们在实际开发中遇到的各种细节,让这个文档更加适合我们在实际开发中的需求。

V7.11中文已经更新完成,v8.1中文更新进行中

1.1 演示视频

1.1.1 文档中心

LVGL教程(超详细的lvgl中文文档!)

1.1.2项目成品

IMX6ULL LVGL GUI V1.0

IMX6ULL LVGL GUI V1.0演示

IMX6ULL Linux LVGL GUI V2.0

Linux lvgl gui 2.0和大家见面啦!

2. LVGL系列教程文章列表

2.1 lvgl系统教程

  • 【文档教程】lvgl v8.x教程(lvgl中文文档教程,开始更新lvgl v8.x文档教程,超详细!)
  • 【视频教程】百问网LVGL(v8)系列课程(韦东山·监制) 教程基于lvgl v8.1版本,课程适配多个平台、多款板子

2.2 lvgl实战参考

  • lvgl gui项目|基于编写的lvgl 8.1的GUI,欢迎学习体验
  • lv_lib_100ask之lvgl页面管理器(lv_100ask_page_manager)
  • lv_lib_100ask之lvgl画板(lv_100ask_sketchpad)
  • lv_lib_100ask之lvgl计算器(lv_100ask_calc )
  • lv_lib_100ask之lvgl中文输入(lv_100ask_chinese_ime )
  • LVGL|将lvgl工程从lvgl v7升级到lvgl v8版本
  • Raspberry pi pico|树莓派-pico驱动ILI9341+lvgl(c语言实现)
  • LVGL|基于100ASK_STM32_F103ZET6开发板的lvgl(v7.11.0)综合例程
  • 将lvlg v8.0移植到STM32F103开发板教程(TODO)
  • 将lvlg v8.0移植到 IMX6ULL 开发板教程(TODO)
  • 将lvlg v8.0移植到 STM32MP157 开发板教程(TODO)
  • LVGL|lvgl教程之巧用图层(layer)编写模式对话框
  • LVGL|lvgl教程之flex布局铺满整个容器(弹性布局铺满整个容器)

2.3 lvgl游戏开发参考

  • LVGL|基于lvgl实现2048游戏(纯c语言实现)
  • 【lvgl游戏开发】用lvgl写了一个数字对拼图益智小游戏

2.4 lvgl+RTOS实战参考

  • freeRTOS&LVGL|在使用freertos时如何为lvgl配置心跳和任务管理器

3. LVGL官方简介

The first version of LVGL was published on GitHub in 2016. As it usually happens it was started as a one-man project. Since then almost 100 contributors joined the development and LVGL became one of the most popular embedded graphics libraries. 1

Nowadays LVGL is downloaded every 5 minutes and it’s among the most popular C libraries on GitHub. Besides attracting thousands of users LVGL became engaging for huge companies too who offer LVGL in their ecosystem. In 2020 we established LVGL LLC to provide a solid background for the library and to develop new ways to aid UI development.1


LVGL 的第一个版本于 2016 年在 GitHub 上发布。 像一般的开源项目的那样,它是作为一个人的项目开始的。 从那时起,陆续有近 100 名贡献者参与了项目开发,使得 LVGL 逐渐成为最受欢迎的嵌入式图形库之一。

现在 LVGL 每 5 分钟就有一次下载量,她是 GitHub 上最受欢迎的 C 库之一。 除了吸引成千上万的用户之外,LVGL 还吸引了在其生态系统中的一些大公司。 2020 年,我们成立了 LVGL LLC,为库提供坚实的背景,并开发新的方法来帮助 UI 开发。

LVGL之前叫 LittlevGL,后来作者将其更名为 LVGL。
LVGL的项目作者是来自匈牙利首都布达佩斯的 Gábor Kiss-Vámosi 。Kiss 在2009年开始写 LVGL(LittlevGL),2016年将其重写并发布在 GitHub 上。

4. 基于lvgl V7.11.0 编写的STM32F103 GUI


基于 lvgl V7.11.0 该项目实现了以下功能:

  • 模仿 windows10 风格的文件浏览器
  • 时钟
  • 二维码生成器
  • 系统说明
  • 温湿度采集
  • 2048小游戏
  • 音乐播放器
  • 贪吃蛇小游戏
  • 计算器
  • 寄存器位查看工具
  • 系统主题切换
  • 板载硬件测试

源码获取:http://download.100ask.org/boards/St/100ask_stm32f103/index.html

5. 基于lvgl V7.11.0 编写的Linux开发板GUI


该GUI基于 800x600的LCD屏幕上开发,去年就已经完成,目前已经将其lvgl库更新至lvgl最新的稳定版本 V7.11.0,点击这里查看视频演示效果。

基于 lvgl V7.11.0 该项目实现了以下功能:

  • 图库
  • 二维码生成器
  • 文件浏览器
  • 集成lvgl官方demo:图片编辑器
  • 集成lvgl官方demo:音乐播放器
  • 集成lvgl官方demo:打印机
  • 集成lvgl官方demo:压力测试
  • 2048小游戏
  • TODO…

源码获取:http://download.100ask.org/boards/Nxp/100ask_imx6ull_pro/index.html

6. 什么是LVGL

lvgl(轻巧而多功能的图形库)是一个免费的开放源代码图形库,它提供创建具有易于使用的图形元素,精美的视觉效果和低内存占用的嵌入式GUI所需的一切。

6.1 LVGL的主要特性

LVGL的主要特性
1 功能强大的构建块,例如按钮,图表,列表,滑块,图像等。
2 带有动画,抗锯齿,不透明,平滑滚动的高级图形
3 各种输入设备,例如触摸板,鼠标,键盘,编码器等
4 支持UTF-8编码的多语言
5 多显示器支持,如TFT,单色显示器
6 完全可定制的图形元素
7 独立于任何微控制器或显示器使用的硬件
8 可扩展以使用很少的内存(64 kB闪存,16 kB RAM)进行操作
9 操作系统,支持外部存储器和GPU,但不是必需的
10 单帧缓冲区操作,即使具有高级图形效果
11 用C语言编写,以实现最大的兼容性(与C ++兼容)
12 模拟器可在没有嵌入式硬件的PC上进行嵌入式GUI设计
13 可移植到MicroPython
14 可快速上手的教程、示例、主题
15 丰富的文档教程
16 在MIT许可下免费和开源

6.2 硬件要求

基本上,每个现代控制器(肯定必须要能够驱动显示器)都适合运行LVGL。LVGL的最低运行要求很低:

lvgl的硬件要求
处理器 16、32或64位微控制器或处理器
时钟频率 最低 16 MHz 时钟频率
Flash/ROM 对于非常重要的组件要求 >64 kB(建议 > 180 kB)
RAM 1.静态 RAM 使用量:~2 kB,取决于所使用的功能和对象类型- 堆栈: > 2kB(建议 > 8 kB)
2.动态数据(堆):> 2 KB(如果使用多个对象,则建议 > 16 kB)。由 lv_conf.h 中的 LV_MEM_SIZE 宏进行设置。
3.显示缓冲区:> “水平分辨率”像素(建议 > 10× “水平分辨率” )
4.MCU 或外部显示控制器中的一帧缓冲区
编译器 C99或更高版本的编译器
技术栈 具备基本的C(或C ++)知识:指针,结构,回调…

7. LVGL中文手册

lvgl官方的教程是英文的,这个是我在做项目时顺便做出来的中文教程站点(持续更新维护),不仅仅只是照搬lvgl官方文档的翻译,同时总结了我们在实际开发中遇到的各种细节,让这个文档更加适合我们在实际开发中的需求。V7.11中文已经更新完成,v8.1中文更新进行中

  • lvgl官方英文原版教程: https://docs.lvgl.io
  • lvgl中文教程(中文手册):http://lvgl.100ask.net http://lvgl.100ask.org


lvgl视频教程

百问网LVGL(v8)系列课程(韦东山·监制) 教程基于lvgl v8.2版本,课程适配多个平台、多款板子

百问网LVGL(v8)视频课程(韦东山·监制) 教程基于lvgl v8.2版本,课程适配多个平台、多款板子!视频学习地址:https://www.bilibili.com/video/BV1Ya411r7K2

视频教程配套资料

  • https://gitee.com/weidongshan/lvgl_100ask_course_materials

相关学习资源

  • lvgl官网:https://lvgl.io
  • lvgl官方文档:https://docs.lvgl.io
  • 百问网lvgl中文文档:http://lvgl.100ask.net
  • 百问网lvgl论坛:https://forums.100ask.net/c/13-category/13
  • 百问网lvgl学习交流群:http://lvgl.100ask.net/master/contact_us/index.html
  • 百问网lvgl视频教程:
    • https://www.bilibili.com/video/BV1Ya411r7K2
    • https://www.100ask.net/detail/p_61c5a317e4b0cca4a4e8b6f1/6

  1. https://lvgl.io/about ↩︎ ↩︎

LVGL|lvgl中文教程手册(lvgl中文文档学习教程)相关推荐

  1. mplab x ide 中文使用手册_中文文档:MPLAB ICD 4在线调试器用户指南

    MPLAB® ICD 4在线调试器 用户指南 MPLAB® ICD 4在线调试器(DV164045)是Microchip最快且最经济高效的调试和编程工具,适用于Microchip PIC®.dsPIC ...

  2. lavaral中文手册_Laravel-mix 中文文档

    概览 基本示例 larave-mix 是位于webpack顶层的一个简洁的配置层,在 80% 的情况下使用 laravel mix 会使操作变的非常简单.尽管 webpack 非常的强大,但大部分人都 ...

  3. 中文列表Oracle EBS中文文档列表

    -------------------------------------------------------------------------------- 适用于:  Oracle E-Busi ...

  4. 使用JavaScript生成二维码教程-附qrcodejs中文文档

    使用javascript生成二维码 依赖jquery 需要使用到的库 https://github.com/davidshimj... DIV <div id="qrcode" ...

  5. keras中文文档学习笔记—快速上手keras

    keras的核心数据结构是"model",其中最主要的是Sequential模型: Sequential模型调用 from keras.model import Sequentia ...

  6. python tkinter手册_tkinter 中文文档

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! __author__=python importtkinterastk clas ...

  7. python 停止工作 scapy_常见问题 - Scapy 中文文档_教程_Python开发社区

    常见问题 我的 TCP 连接被 Scapy 或者是我的内核重置了 内核不知道 Scapy 在他背后做什么. 如果 Scapy 发送 SYN,目标回复 SYN-ACK,并且你的内核看到它,它将回复 RS ...

  8. Airflow 中文文档:教程

    本教程将向您介绍一些基本的Airflow概念,对象及其在编写第一个管道时的用法. 示例管道定义 以下是基本管道定义的示例. 如果这看起来很复杂,请不要担心,下面将逐行说明. ""& ...

  9. nodeJS 中文API node.js 中文文档

    Node.js Manual & Documentation Table Of Contents Synopsis 概要 Global Objects 全局对象 global process ...

  10. blockly自定义中文出问题_Blockly 中文文档(翻译)

    目录 概述 获取代码 注入 Blockly 配置 代码生成器 引入和导出块 云存储 概述 Blockly 可以很容易的添加到你的 web 应用, 用户拖拽砖块, Blockly 就会生成代码, 你的应 ...

最新文章

  1. SAP CV02N 审批一个文档
  2. unity3d EasyTouch滑动屏幕移动相机观看场景
  3. Python3 基础语法(笔记2)
  4. 王元编辑口语资料-中国传统之节日
  5. Java之旅(二)--- ServletContext
  6. C#线程同步(1)- 临界区&Lock .
  7. 毕业多年,我们转变了多少?
  8. 【Android车载系统 News | Tech 1】News 谷歌开发车载Android系统 2014-12-19
  9. 数据库索引统计信息不一致_列存储索引增强功能–克隆数据库中的索引统计信息更新
  10. python写机器人程序_从Python写入机器人框架控制台
  11. Windows Workflow Foundation 培训资源
  12. 2004级C++试题及答案
  13. 利用Axure制作动态表格(Axure学习日志1)
  14. 中国企业云计算应用现状及需求调研报告
  15. Arduino教程: 斯通恩 STWI101WT-01 人机交互显示屏和Arduino
  16. 求职经历,三轮技术面 +HR 面,面试也不过如此
  17. 静坐常思己过 闲谈莫论人非
  18. Linux下QT安装
  19. 【Linux系统】第9节 linux系统中用户分类以及用户与组属性的修改示例
  20. 最近发现一个很全面的历史网站,包含世界各国各个时代内容

热门文章

  1. ArcGIS创建tpk切片缓存
  2. 手动挡五个档位示意图_捷达档位示意图手动挡
  3. python统计文章中高频词汇并生成词云
  4. [poj 1741]Tree 点分治
  5. python爬虫实战:爬取我的博客文章并将文章写入至我的Mysql数据库
  6. 今日头条安卓_考察今日头条总部—字节跳动
  7. Vulhub-coldfusion--CVE-2017-3066
  8. [转][darkbaby]任天堂传——失落的泰坦王朝(中)
  9. [计算机网络]网络层IP协议 选路算法
  10. Unity3D中玩家的移动方式,三大类型,八种方式