医疗电子技术网|技术阅读
登录|注册

您现在的位置是:医疗电子技术网 > 技术阅读 > 一个开源小型GUI移植到STM32F103上

一个开源小型GUI移植到STM32F103上

本文转自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贴片+电子设计教育及方案。作为一家品种齐全、自营库存、质量有保障的电子元器件垂直商城,立创商城所有元器件均从原厂或代理商正规渠道采购,保证原装正品,为您提供专业的一站式元器件采购服务。