音乐网站怎么做,长沙网站备案拍照点,深圳网站设计招聘网,网站平台建设服务合同LVGL简介
LVGL#xff08; Light and Versatile Graphics Library #xff09;是一个轻量、多功能的开源图形库。 1、丰富且强大的模块化图形组件#xff1a;按钮 、图表 、列表、滑动条、图片等 2、高级的图形引擎#xff1a;动画、抗锯齿、透明度、平滑滚动、图层混合等…LVGL简介
LVGL Light and Versatile Graphics Library 是一个轻量、多功能的开源图形库。 1、丰富且强大的模块化图形组件按钮 、图表 、列表、滑动条、图片等 2、高级的图形引擎动画、抗锯齿、透明度、平滑滚动、图层混合等效果 3、支持多种输入设备触摸屏、 键盘、编码器、按键等 4、不依赖特定的硬件平台 5、配置可裁剪最低资源占用64 kB Flash16 kB RAM 6、基于UTF-8的多语种支持例如中文、日文、韩文、阿拉伯文等 7、可以通过类CSS的方式来设计、布局图形界面例如Flexbox、Grid 8、支持操作系统、外置内存、以及硬件加速已内建支持STM32 DMA2D 9、即便仅有单缓冲区(frame buffer)的情况下也可保证渲染如丝般顺滑 10、支持模拟器仿真可以无硬件依托进行开发 ...... 综上可知 LVGL 是一款具有丰富部件具备高级图形特性支持多种输入设备和多国语 言独立于硬件之外的开源图形库。 LVGL 官方地址为 https://lvgl.io/ 该网页主要包含用户 文档、图片转换器和字体转换器该网页打开后如图 所示 上图中点击“ GitHub ”图标即可进入 LVGL 源码的 github 仓库在该仓库中可以下载LVGL 相关的源码点击“ Docs ”图标即可打开 LVGL 官方文档该文档是纯英文编写的主要讲解 LVGL 的基础知识、移植、部件使用、示例等等。 LVGL移植要求
注意此要求仅针对V8版本的LVGL
1、MCU 1、16、32 或 64 位微控制器或处理器 2、主控频率16Mhz 3、Flash/ROM 64kb建议180kb以上 4、RAM8kb建议24kb以上 5、图形缓冲区水平分辨率像素建议大于1/10屏幕总像素 6、C99或更新的版本的编译器 我这里讲解使用的是STM32F407ZGT6读者可以使用和我不一样比如ESP32、其他系列的STM32单片机......只要主控和编译器以及屏幕驱动满足要求都是可以移植LVGL的。 2、显示屏 LVGL 只需要一个简单的驱动程序函数即可将像素阵列复制到显示器的给定区域中其对显示屏的兼容性很强具体要求如下满足其一即可 ① 具有 8/16 /24/ 32 位色深的显示屏。 ② HDMI 端口的显示器。 ③ 小型单色显示器。 ④ LED 矩阵。 ⑤ 其他可以控制像素颜色 / 状态的显示器。 我相信读者既然都学到这里了那么列举的这些屏幕2.8/3.5/4.3/7/10.1 寸 TFTLCD 模块以及 RGBLCD 模块都至少拥有一个了那么我们就可以用这些任意屏幕来运行LVGL。 LVGL 源码下载 LVGL 相关的源码和工程都是存放在 GitHub 远程仓库中该 GitHub 远程仓库地址为 https://github.com/lvgl/lvgl/ 用户可以该仓库中下载 LVGL 图形库的源码。 1、选择版本 2、下载 3、下载后解压缩得到文件夹lvgl-release-v8.3 LVGL 源码介绍 LVGL 源码的目录下有很多文件和文件夹但用户并不需要完全了解它们我们只需要了解与移植相关的部分即可。各文件夹和文件的功能如下表所示 上表中与 LVGL 移植相关的有 examples文件夹、src 文件夹、lv_conf_template.h 和 lvgl.h 文件其他的部分均与移植无关用户可以选择忽略。接下来我们分别看一下 examples、src 这两个文件夹的文件结构
1. examples 文件夹 该文件夹主要包含 LVGL 部件实例、动画实例、其他第三方库实例以及输入设备和显示器 驱动文件等内容具体如表 1.3.2 所示 上表中只有 porting 文件夹与移植相关其他文件夹中存放的是各种实例。
2. src 文件夹
该文件夹主要包含 LVGL 源文件部件源码、多种解码库 上表中的内容都是与移植相关的具体的移植方法我们后面将详细介绍目前大家只需要对 LVGL 源码的文件结构有一定了解即可。 总结
本篇主要介绍了LVGL大概功能以及资料获取方式和源码文件的大概介绍读者开始只需要有个大概的了解在不断的学习之后读者自然而然的就明白LVGL内部的实现流程和掌握LVGL的使用方式。