本文转自21IC。
偶然间发现的一个小型GUI,看了GUI原作者的展示,效果不错,因此尝试移植到自己STM32F103的开发板上了。说他是小型的,一点不假。只有2个文件ugui.c和ugui.h,因为是小型的所以内容上就比较简单,此GUI主要就是实现了窗口控件、Button控件、CheckBox控件、TextBox控件、Image控件这几个,支持触摸操作。
该GUI的官方地址:
http://embeddedlightning.com/ugui/
https://github.com/achimdoebler/UGUI
包含文件:主要就是ugui.c和ugui.h
移植也非常简单,先新建ugui_port.c文件,在里面实现LCD的画点、画线和单色填充函数。如下:
然后main函数中初始化GUI。如下:
接着是创建窗口以及窗口内控件。然后调用初始显示哪个窗口。如下:
注意此时LCD还未显示绘制窗口,继续往下。要显示窗口必须在主循环或者定时中断中调用 UG_Update() LCD显示刷新函数才能在屏幕上看到内容,否则屏幕上什么都不显示。还有触摸坐标更新在主循环或者定时中断中调用。我是在main主循环中调用屏幕更新和触摸更新的。如下:
还有就是实现窗口内控件的回调点击处理函数。 至此基本就完成了GUI的移植。窗口控件的回调函数如下:
好了,移植完成了。现在来看看移植的效果吧。下面来几幅图欣赏一下:
工程源码:https://pan.baidu.com/s/1anN1vM40CtHtr3xFdGW8WA
密码:ycin
本文转自网络,版权归原作者,如果您觉得不好,请联系我们删除!
广告
关于立创商城
立创商城(WWW.SZLCSC.COM)成立于2011年,致力于为客户提供一站式电子元器件线上采购服务,成交量全国领先。拥有10000多平方米现代化元器件仓库,现货库存超100000种,集团电子全产业链自营服务涵盖:在线EDA(LCEDA)+行业领先的PCB打样/中小批量+元器件商城+钢网制造+SMT贴片+电子设计教育及方案。作为一家品种齐全、自营库存、质量有保障的电子元器件垂直商城,立创商城所有元器件均从原厂或代理商正规渠道采购,保证原装正品,为您提供专业的一站式元器件采购服务。