近年来,单片机上面扩展了各种很强大的功能,从STM32F429的直驱RGB屏幕,到RT1052的527MHz甚至后来的1GHz,以及自带SDRAM的国产芯片TK499,使得一些UI应用在MCU上面更加顺畅。而且支持单片机的GUI也是百花齐放,有嵌入式龙头企业的segger家emWin、国外大神开源的LittleVGL、ST刚刚收购的TouchGFX、QT更新的QT for MCU、国内大神十年深度优化的emXGUI、周立功开源的AWTK,使得用户对于MCU上的GUI有了非常多的选择。* Y( w3 D6 c% t2 h2 ^8 Q2 O 4 U' _( O; _% O* l: u2 DemWin emWin是Segger公司针对嵌入式平台开发的稳定、高效的图形软件库,适合用于任何图形LCD的操作应用,并可输出高质量的无锯齿的文字和图形,通过调用emWin提供的函数接口,开发嵌入式图形界面应用变得简单而快捷。emWin的年龄较大,适用的平台广,很多芯片厂家都获得了emwin的使用权并且做了适配。总的来说,emwin可以是新手入门GUI的不二选择。
LittltVGL4 D, T9 ^$ |# Y" a$ V% G4 d LittlevGL 是一个开源免费的GUI,支持触摸屏操作,移植简单方便,开发者一直在不断完善更新。LittlevGL 自带了丰富的控件:窗口、按键、标签、list、图表等,还可以自定义控件;支持很多特效:透明、阴影、自动显示隐藏滚动条、界面切换动画、图标打开关闭动画、平滑的拖拽控件、分层显示、反锯齿、仅耗少量内存的字体等等。LittleVGL基于c语言且开源,可以移植到其他图形库上面,比如QT或者emWin。LittleVGL的控件支持定义主题,除了默认的主题外,用户还能自定义各种主题,如果做商业应用,LittltVGL的风格再适合不过了,类安卓和IOS的风格,用户无需美工经验也可以制作优美的界面。
emXGUI& e( F/ o3 Z5 S0 Q9 d8 d# a' C1 E 简而言之, emXGUI(是 Embed X Graphics User Interface 的缩写)是针对嵌入式平台开发的图形软件库,包含各种常用图形控件,通过调用 emXGUI 提供的函数接口,开发嵌入式图形界面应用变得简单而快捷。 emXGUI 由 AATECH 公司的刘巍编写,拥有完全自主的知识产权(包括 emXGUI 商标和软件著作权)。于 2008 年发布 V1 版本开始,十年深度优化,一直在公司产品中使用至今。 我也是在野火的推广下才知道emXGUI这个图形库,野火也是成立了公司专门做emXGUI的维护和推广工作,emXGUI使用了窗口和消息机制,控件支持风格定义,控件还是偏现代化的。
AWTK AWTK 全称 Toolkit AnyWhere,是 ZLG 开发的开源 GUI 引擎,旨在为嵌入式系统、WEB、各种小程序、手机和 PC 打造的通用 GUI 引擎,为用户提供一个功能强大、高效可靠、简单易用、可轻松做出炫酷效果的 GUI 引擎。AWTK里面介绍到AWTK的跨平台性非常强,可以在单片机、Linux、WIN、MACOS、安卓和IOS等多种平台上运行,而且还支持开发微信小程序。从AWTK的GitHub上面还是可以看出AWTK是非常强大的,作者同时也对这个开源的国产GUI抱有很大期望,希望AWTK会发展的越来越好。
% x+ M6 P; n) k 如此丰富的GUI该如何移植呢,如何适配STM32呢,首先选择一款性能优异的MCU比较重要,比如自带LCD-TFT控制器和SDRAM控制器的STM32F429,有了这样一个MCU和一块液晶屏,就能轻松玩转各种GUI,个人总结了一些GUI搭配RTOS的玩法,所有例子都是亲自尝试并且下载到板子。
|
【STM32H7S78-DK评测】-5 LVGL&DMA2D DEMO测试
【STM32H7S78-DK评测】-4 LTDC&DMA2D 基本测试
STM32F3DISCOVERY + UCGUI3.90A的移植(源码+视频)
STM32MP135F-DK开发板评测-Linux系统下基于gtk的计算器应用
STM32MP135F-DK开发板评测-Linux系统下的GTK计算器
STM32MP135F-DK开发板评测-裸机LTDC亮屏
基于STM32GUI TouchGFX 屏幕切换功能经验分享
STM32 GUI开发技能分享
X-NUCLEO-GFX01M1 开发板的 GUI 开发流程介绍
STM32 TouchGFX经验分享(一)
肯定可以 不过我没玩过这个