分享

GUI 设计原来可以这么简单!

 弓道自然_改名 2018-06-12

本文导读


一、emWin介绍


emWin是Segger公司针对嵌入式平台开发的稳定、高效的图形软件库,适合用于任何图形LCD的操作应用,并可输出高质量的无锯齿的文字和图形,通过调用emWin提供的函数接口,开发嵌入式图形界面应用变得简单而快捷。


使用emWin开发界面是个细致活,设计一个界面,往往需要对控件进行多次调整才能到达理想效果,这里向大家分享两款设计emWin界面的利器:PC模拟器和GUI Builder。


二、emWin开发利器之一: 模拟器


为解决前期开发没有硬件的烦恼,Segger提供了一个基于PC的emWin模拟器,用户可在模拟器上进行GUI界面的设计,待界面设计成熟之后,再将代码移植到嵌入式开发平台,可加快整个工程的开发进度。如图1所示为emWin模拟器运行效果。


图 1


emWin模拟器提供了全部的源码,用户可根据实际LCD的分辨率修改模拟器的屏幕分辨率。模拟器附带的Demo源码极具参考价值,几乎涵盖了emWin中所有的控件使用,用户通过学习这些例程,并参考官方的emWin手册,可快速入门emWin的开发。Demo源码如图2所示。


图 2


三、emWin开发利器之二: GUI builder


GUIBuilder是emWin附带的一款无需使用C语言编程即可创建对话框的工具,并提供了丰富的控件,用户只需在GUIBuilder中通过拖拽控件,摆放控件的位置和调整控件的大小,还可以在上下文菜单中设置各控件的属性,将设计的界面另存为C文件,可以直接拿到emWin工程中使用,生成的C代码中还自动添加了事件处理框架,用户只需关注事件的处理上。让用户从为设计一个界面而反复修改代码,烧录,运行,再修改的痛苦中解放出来。


在GUIBuilder上经过控件的拖拽,调整,修改属性,轻松创建一个网络设置对话框界面,如图3所示。


图 3


将其生成的C代码移植到项目工程中,再进行一些细节修改和调整,并将控件的文本显示替换为中文显示,界面的最终效果如图4所示。


图 4


四、使用M1052核心板开发emWin


M1052核心板板载16MB SDRAM,完全满足开发emWin高清图形应用的条件。M1052配套的AWorks SDK软件包,已经为用户配置好LCD屏驱动,用户无需关心底层驱动的实现,可直接启动emWin应用程序的开发。并提供一款精简的桌面UI系统Demo程序,给用户一定的参考,使用户能够快速开发自己的桌面应用程序。Demo酷炫主界面如图5所示。


图 5


桌面一共实现9个App应用,在主界面点击对应图标即可进入APP界面。“文件浏览”可对所有被挂载的储存设备文件进行浏览,可逐级进入和退出子目录。如图6所示。


图 6


“网络设置”可对系统的IP地址、网关、子网掩码进行设置和保存。如图7所示。


图 7


“任务管理”可对系统中各任务的优先级,堆栈信息,CPU占用率数据进行预览。并以历史曲线记录CPU的占用率。如图8、图9所示。


图 8


图 9


“系统信息”可对当前系统的版本和资源进行预览。如图10所示。


图 10


“外设控制”可以通过界面上按钮开启或关闭评估板上的蜂鸣器和Led灯。如图11所示。

 

图 11


“数据采集”对两路AD数据变化进行历史曲线显示。如图12所示。


图 12


“时钟”可对系统的当前日期和时间进行设置和保存。如图13所示。


图 13


“固件升级”可从存储设备中加载一个bin文件,对系统进行自升级。如图14所示。


图 14


M1052跨界核心板,既具备MPU的强劲处理性能,又兼顾MCU微控制器的简单易用与实时性优势!预装AWorks实时操作系统,面向智能硬件与工业物联网方向应用设计。



互动时刻

ZLG



公众号介绍


    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多