初学者福利,这里有一款很好上手的GUI
Editor's Note
前几天在安富莱公众号周报里有看到一个LLGUI,我前两天也有玩了一下,很好上手。正好杨工也写了一篇简单的使用,我转过来给大家一起学习学习。特别是还在学校的朋友,参加电赛时需要做GUI显示的时候可以用得上。
The following article is from 嵌入式云IOT技术圈 Author 杨源鑫
前几天在安富莱的周报里看到了这个开源的GUI解决方案:
作为一名热衷开源的攻城狮,第一时间就把代码下下来捣鼓一下,项目开源地址:
https://gitee.com/gzbkey/LingLongGUI
玲珑GUI教程:
https://www.yuque.com/books/share/3317aaa7-f47f-4bfd-a4c2-7e64e7f1c4be
以下1、2段摘抄自码云LingLongGUI
官方仓库README
:
1、玲珑GUI介绍
玲珑GUI是高效的界面开发解决方案。 代替串口屏、组态,降低产品成本,产品软硬件自主可控。 配套界面开发软件,图形化编辑界面,生成C代码,直接和用户产品代码结合。 配套下载升级软件和bootloader,解决产品升级功能和图片下载问题。
2、玲珑GUI最终目的
提高开发效率,降低开发难度,降低产品成本。
那么它究竟有多容易呢?杨工带你们体验一下,进入实践环节来体验一下:
3、玲珑GUI在小熊派开发板上的移植
3.1、准备一个能点亮屏的代码工程
这个以前就有了,随便在这下面找一个能亮屏的工程即可:
3.2、移植玲珑GUI
3.2.1、安装LingLongGuiBuilder
安装完毕后,打开的效果是这样的:
接下来需要创建工程,然后再创建GUI文件,拖放对应的控件:
点击File==>New Project==>创建一个工程
如图所示,这里的ST7789对应的这个设备类型是没有的,是我后来自己加上去的,具体怎么让工具支持对应屏的分辨率呢??这时候我们需要给LingLongGuiBuilder
添加对应的屏分辨率适配;接下来打开LingLongGuiBuilder
安装路径,修改deviceType
脚本:
配置完毕然后再次打开LingLongGuiBuilder
,就发现我们需要的分辨率被添加进来了,这样我们就成功的创建了一个工程。
接下来创建UI布局文件,然后就可以开始我们的UI设计布局了,以下是我的布局:
其中buildOutPut
是生成的用户代码,这部分是需要添加到我们代码里的,如下:
3.2.2、移植玲珑GUI到已经具有LCD显示的工程
首先,从码云上下载玲珑GUI的代码:
git clone https://gitee.com/gzbkey/LingLongGUI.git
下载完以后,项目结构如下:
在Keil工程里添加玲珑GUI代码
首先将整个玲珑的工程源码复制到Keil工程下,然后创建其它两个文件夹:
其中:
LingLongGUI:玲珑项目源码LingLongGUI
里的这两个文件
这个文件夹存放的就是使用LingLongGuiBuilder
生成的buildOutput
的代码:
接下来打开Keil MDK工程,
1、修改Keil配置
AC5的Keil编译版本必须填入--no-multibyte-chars,AC6版本的Keil编译版本则不需要
2、导入UI工程文件路径
3、添加驱动函数及修改配置文件
打开LL_Config.c,添加如下函数:
//TFT打点函数
llCfgSetPoint
//TFT取色函数
llCfgGetPoint
//TFT矩形单色填充函数
llCfgFillSingleColor
如下所示:llCfgGetPoint
这个函数在小熊派上不适用,所以不需要填,等后面换一个支持触摸屏的板子就需要用到它了,接下来修改LL_Config.h中的屏幕分辨率以及颜色位数:
4、修改MCU堆的大小
5、main函数加入初始化函数和循环函数
包含头文件:
#include "LL_Handler.h"
然后添加:
最后将代码编译并下载到板子上:
4、玲珑GUI展示效果
5、项目开源地址
本节代码已同步到码云的代码仓库中,获取方法如下:
码云仓库:
https://gitee.com/morixinguan/linglong_gui_demo
获取项目方法:
git clone https://gitee.com/morixinguan/linglong_gui_demo.git
我还将之前做的一些项目以及练习例程在近期内全部上传完毕,与大家一起分享交流,如果有任何问题或者对该项目感兴趣,欢迎加我微信:morixinguan一起交流学习。
玲珑GUI目前还正处于快速成长期,还需要各位大佬一起贡献支持,如果你也喜欢这个项目,欢迎给这个仓库点个Star,并加入开源玲珑GUI液晶模组方案
QQ群,和大佬们一起共同成长!
往期精彩
U盘容量大小造假技术手段实现之8M变4G(以STM32 SPI_FLASH为例)
手把手教你在STM32上实现OLED视频播放(很简单也很硬很肝!)
一些值得被定义为常用C语言头文件库的漂亮宏定义(值得收藏,以备使用参考)
觉得本次分享的文章对您有帮助,随手点[在看]
并转发分享,也是对我的支持。
温馨提示
由于微信公众号近期改变了推送规则,如果您想经常看到我们的文章,可以在每次阅读后,在页面下方点一个「赞」或「在看」,这样每次推送的文章才会第一时间出现在您的订阅列表里。
版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。
猜你喜欢:
在公众号聊天界面回复1024,可获取嵌入式资源;回复 m ,可查看文章汇总。
文章都看完了