LVGL 图形库

编程思想。

(2023-02-06) 我第一次接触单片机在 2018 年 4 月,51 单片机,那时我上大二。2018 年 7 月我买了第一个 STM32 开发板,在大二升大三的暑假做了一点小东西。

对于大多数电子电气、自动化的同学来说,语言和芯片只是工具,因此我们甚至并不会过多关心程序结构、编程思想,许多时候项目的软硬算法都是一个人搞,写程序的原则是能用就行。

但是当我们要实现一个更复杂的东西时,这些不好的编程习惯会成为开发路上的阻碍。

因此我个人认为电子相关专业的初学者在熟悉裸机编程,把 C 语言从书本搬到实际芯片上后,最紧要的是养成好的编程习惯,建立起软件工程的基本概念,如果从一开始就可以养成好的编程习惯,规范的命名方式,规范的编程思想,那嵌入式这条路可以走的更高更远。

因此我觉得在学完裸机编程后,可以试试使用 LVGL 做一个 UI 的项目,初步接触 C 语言里面向对象的思想。

图形库主要是学习程序结构和实现,以及模块之间的关系是如何通过指针建立的,此外图形化界面本身的思维难度不大。但是这些程序设计思想在后面的操作系统里都会遇到,在操作系统学习中的重点是操作系统本身,比如线程、驱动、协议栈之类的。

LVGL

官网:https://lvgl.io/

github:https://github.com/lvgl/lvgl

手册:https://docs.lvgl.io/master/index.html

中文翻译:http://lvgl.100ask.org/8.2/examples.html

Light and Versatile Graphics Library

轻量级、多功能图形库。

在官网可以看到

这套东西可以运行在16bitCPU上,最低主频16MHz,当然越高越好,ROM最小64KB,RAM最小8KB就能跑。

显存在MCU内部、外部,或在显示控制芯片内都行。

显存分配最小为一行像素,但是1/10最好。

这是个开源项目,遵循MIT协议。

Widgets即部件,有30多个。

显示很灵活,支持各种分辨率屏幕,单色的也可以。

输入也很灵活。

画图也有比较多的功能。

也支持中文文本。

emWin

emWin属于SEGGER公司下面的一种GUI产品,一种嵌入式GUI解决方案。业界领先的嵌入式图形库,专业的嵌入式GUI。

emWin与单任务和多任务环境兼容,可以使用专有的操作系统,也可以与任何商业RTOS兼容。它以C语言源代码提供,使其成为嵌入式市场的专业、通用GUI,可用于多种不同的场景。

TouchGFX

TouchGFX属于Draupner Graphics公司的GUI产品,在去年(2018年7月),TouchGFX被ST收购,在STM32上可以免费使用TouchGFX。TouchGFX升级至V4.10,扩展STM32生态系统,并集成在STM32CubeMX中。

MiniGUI

MiniGUI丰富的功能和可配置性使得它既适用于运行在30MHz CPU的低端设备,也适用于使用GPU的高端设备。为嵌入式和智能物联网设备提供一个成熟的、经过验证的跨平台GUI系统。

就在前不久(2019年9月19日),北京飞漫软件技术有限公司宣布:将在 MiniGUI 4.0.2 版本中支持国产物联网操作系统 RT-Thread!

Qt

最后更新于