5360|7

9

帖子

2

TA的资源

一粒金砂(中级)

楼主
 

超轻量小型开源GUI、有效代码四千行左右、极易移植 [复制链接]

开源小型 GUI,只需要两个文件 gui.c、gui.h
 
一、资源要求
估算最低硬件要求:
ROM 13K
RAM 2K


二、开源地址
开源GUI地址
https://github.com/achimdoebler/UGUI


三、GUI框架
GUI 框架构成:
1、窗口:可以绘制多个窗口;
2、控件:支持窗口内显示其他控件如按钮、文本框等;
3、 事件处理:支持界面和用户交互操作,事情回调,如触摸事件等;
4、 接口函数:提供给开发者友好的接口;
5、扩展:用户可以自行修改源码添加其他控件。

四、移植说明
 

4.1、首先需要准备工程模板,然后就可以开始移植了。
 
4.2、构建下面三个函数,分别是画线、填充、画点函数,画点函数是最基本的,移植 UGUI 必须建立此函数。请注意,确认调用三个函数可以在显示屏正常显示。如下图所示:

4.3、初始化GUI就完成移植了

4.4、有些单片机自带图形加速器,需要注册以下函数并使能
 
五、GUI函数介绍
 
所有GUI函数说明可以参考官方手册
 
5.1、例如建立一个窗口,下图为代码和显示效果:
 
注意此时只是简单的完成window1控件定义,LCD还未显示绘制窗口,要显示窗口必须在主循环或者定时中断中调用  UG_Update()
 
5.2、还有就是实现窗口内控件的回调点击处理函数,如下:

5.3、窗口控件管理
窗口控件管理:你在一个窗口中需要几个空间就要定义几个空间的相关类型变量定义,其中obj_buff[]数组用于记录你这个窗口中的空间,以数组方式管理和检索这些控件;一个窗口中可以容纳N个控件,由宏开关MAX_OBJECTS控制;
 
六、 如何实现触摸控制
 
如下代码所示,先获取触摸坐标,然后确认触摸状态为按下,调用UG_TouchUpdate更新坐标信息,然后UG_Update()里面会处理触摸信息,按下的相关控件会调用回调函数处理,例如上面描述的回调函数window_1_callback,里面有判断是哪个控件按下,然后处理对应的函数。
 
具体详细的说明请参考移植文档说明。
GUI移植和使用说明.pdf (1.47 MB, 下载次数: 44)

 

最新回复

要学要用当然越稳定越可靠UI元素和功能越多越好。毕竟,移植只需要花一点时间,而用可能会很久。threadx的gui可能是唯几过了各种苛刻认证的GUI系统吧。可以去官网看看。   详情 回复 发表于 2020-9-9 13:36
点赞 关注(1)

回复
举报

2

帖子

0

TA的资源

一粒金砂(初级)

沙发
 
可以讲讲怎么实现中文显示和怎么实现EDIT控件么
 
 

回复

9

帖子

2

TA的资源

一粒金砂(中级)

板凳
 
dwj0 发表于 2020-9-6 14:13 可以讲讲怎么实现中文显示和怎么实现EDIT控件么

你好,暂时不支持中文显示,后面我会把中文显示加上,控件使用可以参考我上面的例子。

 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

4
 

5年没有更新了,还是观望的好。

 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

9

帖子

2

TA的资源

一粒金砂(中级)

5
 
freebsder 发表于 2020-9-7 19:45 5年没有更新了,还是观望的好。

源码完全开源,这个可以自行完善的

点评

threadx的开源gui了解一下。  详情 回复 发表于 2020-9-8 15:39
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

6
 
LONGSHEN1 发表于 2020-9-8 13:55 源码完全开源,这个可以自行完善的

threadx的开源gui了解一下。

 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复

9

帖子

2

TA的资源

一粒金砂(中级)

7
 
freebsder 发表于 2020-9-8 15:39 threadx的开源gui了解一下。

threadx的GUI没用过,应该各具优势吧,我当初使用ugui也是考虑小型,容易移植,因为当初使用的单片机资源有限

点评

要学要用当然越稳定越可靠UI元素和功能越多越好。毕竟,移植只需要花一点时间,而用可能会很久。threadx的gui可能是唯几过了各种苛刻认证的GUI系统吧。可以去官网看看。  详情 回复 发表于 2020-9-9 13:36
 
 
 

回复

7671

帖子

2

TA的资源

五彩晶圆(高级)

8
 
LONGSHEN1 发表于 2020-9-9 09:50 threadx的GUI没用过,应该各具优势吧,我当初使用ugui也是考虑小型,容易移植,因为当初使用的单片机资源 ...

要学要用当然越稳定越可靠UI元素和功能越多越好。毕竟,移植只需要花一点时间,而用可能会很久。threadx的gui可能是唯几过了各种苛刻认证的GUI系统吧。可以去官网看看。

 
个人签名

默认摸鱼,再摸鱼。2022、9、28

 
 

回复
您需要登录后才可以回帖 登录 | 注册

随便看看
查找数据手册?

EEWorld Datasheet 技术支持

相关文章 更多>>
关闭
站长推荐上一条 1/7 下一条

 
EEWorld订阅号

 
EEWorld服务号

 
汽车开发圈

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 国产芯 安防电子 汽车电子 手机便携 工业控制 家用电子 医疗电子 测试测量 网络通信 物联网

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2025 EEWORLD.com.cn, Inc. All rights reserved
快速回复 返回顶部 返回列表