WoodData的个人空间 https://passport2.21ic.com/?1849938 [收藏] [复制] [RSS]

日志

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

热度 2已有 2630 次阅读2017-10-26 15:34 |个人分类:STM32|系统分类:ARM

    偶然间发现的一个小型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的移植。窗口控件的回调函数如下:


    好了,移植完成了。现在来看看移植的效果吧。下面来几幅图欣赏一下:





路过

鸡蛋
1

鲜花

握手

雷人

刚表态过的朋友 (1 人)

全部作者的其他最新日志

发表评论 评论 (2 个评论)

回复 BryanChang 2018-3-13 23:39
高,实在是高
回复 ddllxxrr 2019-8-29 08:16
历害啊