系列文章目录
前言
LVGL(Light and Versatile Graphics Library)是一个开源的嵌入式图形库,专为嵌入式系统和小型设备设计。它提供了一组功能强大、轻量级的图形绘制和用户界面(UI)库,用于开发嵌入式设备的图形用户界面。
LVGL的主要特点和好处:
-
轻量级:LVGL被设计成轻量级的图形库,非常适合嵌入式系统和资源受限的设备。
其代码大小和内存占用相对较小,适应了嵌入式设备有限的存储和计算资源。 -
跨平台支持:LVGL是跨平台的,支持多个嵌入式平台,包括ARM、MIPS、RISC-V等。可以轻松移植到各种硬件平台和操作系统。
-
硬件无关性:LVGL的设计目标之一是硬件无关性,因此它不依赖于特定的图形硬件,可以适配各种显示屏。
-
灵活性和可定制性:提供了丰富的图形元素和小部件,可以轻松构建各种用户界面。具有高度的可定制性,用户可以按照项目需求进行自定义,包括颜色、样式、大小等。
-
内置动画和过渡效果:LVGL内置了丰富的动画和过渡效果,为用户界面增添了更多交互和吸引力。
-
支持触摸屏:集成了对触摸屏的支持,可以轻松实现触摸交互的用户界面。
-
开发社区:LVGL有一个积极的开发社区,提供了大量文档、示例和支持,使开发人员能够更轻松地入门和解决问题。
-
开源许可证:LVGL采用MIT开源许可证,允许自由使用、修改和分发。
-
实时性能:针对实时嵌入式系统的要求进行了优化,具有很好的实时性能。
-
支持多语言:提供了对多种语言的支持,包括C、C++、MicroPython等。
LVGL广泛用于各种嵌入式应用,包括家电、医疗设备、工业控制、物联网设备等领域。它的轻量级和灵活性使得开发人员能够在有限的资源下构建现代化的用户界面。
一、如何获取LVGL官方源码
下面是中文官方文档可以进行参考
https://lvgl-chinese-doc.readthedocs.io/zh-cn/latest/index.html
二、学习资料
个人觉得正点原子的文档和PPT做的很好,可以当作开发文档使用
正点原子b站视频:
https://www.bilibili.com/video/BV1CG4y157Px/p=65&spm_id_from=333.880.my_history.page.click&vd_source=908004b2a813d2d055f9a6540282eb9b
正点原子视频/PPT/源码资料下载链接:
http://www.openedv.com/docs/book-videos/zdyzshipin/4free/newlvgl.html
韦东山老师的LVGL视频,关于原理方面介绍的挺详细的
https://www.bilibili.com/video/BV1Ya411r7K2/p=52&spm_id_from=333.880.my_history.page.click&vd_source=908004b2a813d2d055f9a6540282eb9b
三、软件和硬件
如果没有硬件也可以用软件模拟。有两种方式。
第一种使用vscode或者Visual studio
第二种使用codeblocks(不过有时候图片无法正常显示)
硬件:正点原子买一块TFT屏幕,esp系列也可以
四、移植
我使用的是STM32F746-NG开发板,lvgl官网上有对应的移植代码,简单修改一下就可以移植成功。