0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

lkdGui是一款为单色显示屏制作的图形化界面专为工业控制领域而生

RTThread物联网操作系统 来源:RTThread物联网操作系统 2020-04-30 15:19 次阅读

lkdGui是一款为单色显示屏制作的图形化界面,lkdGui主要定位于工业控制领域,用于简单漂亮的图形界面设计。它的源代码全部使用c语言编写,符合c99标准。它包含了常用的画图函数如画点、画线、画矩形、文字显示、按钮控件、进度条控件。它使用`窗口`进行统一管理和调度,使得各个应用显示模块之间低耦合,方便应用程序的开发。

lkdGui源码介绍

1.lkdGui_source文件夹:它包含了lkdGui的所有源码
A.include文件夹:它包含了Gui所有的.h文件。移植时应将此路径加入工程项目。
a.lkdGui.h:此文件里包含所有的Gui函数接口。用户使用Gui函数时应该包含此头文件。
b.lkdGuiConfig.h:此文件用来配置和裁剪Gui.
c.lkdGuiTypedef.h:此文件定义了Gui相关的数据结构,使用者不必看它。
B.port文件夹:它里边包含的是移植相关的文件。
a.fontDriver文件夹:它包含常用的字模库、字库芯片驱动等。使用者可以在这里面加入字体相关的驱动。
b.lcdDriverPort文件夹:它包含常用的液晶驱动。使用者可以在这里面加入液晶相关的驱动。
c.lcdDriverPort.c:Gui的液晶驱动移植接口。用户应该填充里面的相关函数。
d.userFontPort.c:Gui的字体驱动移植接口。用户应该填充里面的相关函数。
e.userAppPort.c:这个输入应用层,里面包含了初始化、窗口管理等函数。永和可以直接在这里面写应用。
C.source文件夹:Gui绘图、窗口管理等相关函数实现源码。

图片来源:公众号嵌入式的日常

lkdGui移植

上节的源码介绍中已经提到了移植相关的工作在port文件夹中。分为字体移植接口和液晶移植接口。1.字体移植接口:包含fontDriver文件夹和userFontPort.c。移植流程如下:
A.用户先看fontDriver文件夹下有没有自己要用的字体库或字库芯片驱动。如果没有则需要添加。
B.然后修改userFontPort.c。填充此文件中的相关函数。
a.GetDfontData():此函数用于获取汉字字模。字体库中应该包含获取字模的函数.用此函数调用即可。
b.GetSfontData():此函数用于获取ASII码字模。使用如GetDfontData()。
c.用lkdFont结构体对象声明自己的字体->初始化->用GuiFontSet()设置为系统默认字体。
2.液晶移植接口:包含lcdDriverPort文件夹和lcdDriverPort.c。移植流程如下:
A.用户先看lcdDriverPort文件夹下有没有自己要用的液晶驱动。如果没有则需要添加。
B.然后修改lcdDriverPort.c。填充此文件中的相关函数。(根据需求可以只填部分函数)。下面是必须要填充的。
a.GuiUpdateDisplayAll():此函数用于将缓存的数据刷新到液晶。
b.GuiDrawPoint():画点函数。在液晶固定位置画点。3.修改lkdGuiConfig.h中液晶大小相关宏GUI_LCM_XMAX,GUI_LCM_YMAX.
4.用户使用接口:用户可使用的接口函数都包含在lkdGui.h中。userAppPort.c是用户使用的模板。

lkdGui窗口介绍

lkdGui使用窗口作为管理、调度单元。用户所有的绘图都应该在具体的某个窗口里边。

1、lkdGuiConfig.h中的GUIWINMANAGE_NUM用于修改窗口最大嵌套数量。
2、GuiWinInit()系统上电时应该使用它初始化窗口相关资源。
3、GuiWinDisplay()是窗口调度函数,需要程序一直能执行到。
4、lkdWin是窗口的结构体。用户使用它创建任意多个窗口实体对象。lkdWin->WindowFunction()是用户在此窗口里画图等的接口。
5、GuiWinAdd()函数用于将lkdWin结构的窗口实体对象加入到窗口调度栈中。
6、GuiWinDeleteTop()函数用于将顶部的窗口实体对象从窗口调度栈中移除。
7、GuiGetTopWin()函数可以获取窗口调度栈中顶部的窗口(当前显示的窗口)。

lkdGui菜单介绍

菜单是lkdGui里一个有特色的控件,而且在工业控制中经常使用。具体使用请参看例程。

lkdGui字体介绍

lkdGui可以添加很多字体库,在使用过程中使用GuiFontSet()函数来切换。使用GetCurrentFont()函数可以获取当前的字体指针;

图片来源:公众号嵌入式的日常

其他控件和绘图函数

见lkdGui.h。里面有详细的使用说明。

如何在RT-Thread上使用lkdGui

听取了使用者的意见后,lkdGui在第一版的基础上对源码程序进行了整理,更新到版本V0.0.1.同时,为了方便使用,将lkdGui加入到了RT-Thread的软件包中。使用者只需在RT-Thread的管理工具env中选中lkdGui即可(关于RT-Thread的使用请参看RT-Thread官网)。下图是lkdGui在menuconfig中的位置:

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 显示屏
    +关注

    关注

    28

    文章

    4218

    浏览量

    72585
  • 工业控制
    +关注

    关注

    36

    文章

    1268

    浏览量

    85442
  • 软件包
    +关注

    关注

    0

    文章

    88

    浏览量

    11317

原文标题:​【使用指南】lkdGui软件包——专为工业控制领域而生

文章出处:【微信号:RTThread,微信公众号:RTThread物联网操作系统】欢迎添加关注!文章转载请注明出处。

收藏 人收藏

    评论

    相关推荐

    工业触控显示屏工业控制中的应用

    ,可以说是这方面的优秀代表。 以精密加工设备为例,利用嵌入式工控机辅以数据采集卡和运动控制卡加工业显示屏的方案,替代原有的PLC方案,使设备性能有了进一步提升,包括低功耗、小型化、接口更加丰富、系统更高速稳定,以及人机
    的头像 发表于 01-22 16:38 260次阅读
    <b class='flag-5'>工业</b>触控<b class='flag-5'>显示屏</b>在<b class='flag-5'>工业</b><b class='flag-5'>控制</b>中的应用

    商场外墙户外P5LED显示屏# P5LED显示屏# 商场LED显示屏# 广场LED显示屏# 小区LED显示屏

    LED显示屏
    LED显示屏生产厂家
    发布于 :2024年01月16日 20:24:01

    酒店会议室LED显示屏P2#酒店LED显示屏# P2LED显示屏# 会议室LED显示屏

    LED显示屏
    LED显示屏生产厂家
    发布于 :2024年01月16日 20:19:32

    蓝鹏工业信息采集平台 软件界面介绍

    值超过标称公差范围时,以不同颜色醒目提醒,如超正公差时红色显示、超负公差时黄色显示。 (2)实时数据图形化 在主界面,除了以不同颜色显示数据
    发表于 12-28 17:07

    硕博电子8寸工业触控显示屏

    显示屏
    长沙硕博电子科技股份有限公司
    发布于 :2023年12月08日 15:39:54

    linux图形化界面设置ip

    在Linux系统中,可以使用图形化界面来设置IP地址。下面是一个详实而细致的文章,将指导您如何通过图形界面设置IP地址。 第一部分:进入网络设置界面 打开Linux系统的“设置”应用程
    的头像 发表于 11-27 15:19 1154次阅读

    SWM166圆形旋钮一款新奇的功能板

    ) 1 个 CAN 接口 1 个 16 位看门狗定时器 由此可见,其性能还是十分出色的。此外,它的大特色就是采用了一款1.28寸的圆形旋钮。其分辨率240*240 像素点。 在圆
    发表于 11-24 23:38

    验光仪显示屏界面介绍!

    显示屏仪器仪表
    上海嫦娥光学仪器科技有限公司
    发布于 :2023年11月15日 14:48:42

    户外全彩LED广告LED广告显示屏【#

    LED显示屏
    联诚发
    发布于 :2023年10月09日 17:17:00

    如何用STM32CubeMonitor图形化显示LoRa节点信息

    电子发烧友网站提供《如何用STM32CubeMonitor图形化显示LoRa节点信息.pdf》资料免费下载
    发表于 09-19 14:59 0次下载
    如何用STM32CubeMonitor<b class='flag-5'>图形化</b><b class='flag-5'>显示</b>LoRa节点信息

    工业显示屏触摸屏

    工业显示屏触摸屏是专为工业应用设计的显示屏,具有高度可靠性、耐用性和适应恶劣环境的特点。这些触摸屏通常应用于
    的头像 发表于 08-29 16:10 2720次阅读

    如何使用开源硬件及Mind+图形化编程制作灯光画

    了创客们和编程爱好者的利器。这些工具的结合为我们带来了一种令人着迷的创作方式——制作灯光画。 通过结合硬件控制图形化编程,我们可以创造出独特的灯光效果,将艺术与科技完美融合。无论是为了装饰家居、展示艺术作品,还是为了丰富舞台表
    的头像 发表于 08-04 09:24 684次阅读

    #单片机 OLED显示屏 兑换的显示屏到了!#单片机

    OLED显示屏
    efans
    发布于 :2023年04月24日 16:51:22

    面向界面图形化测试技术

    面向界面图形化测试是一种常用的软件测试方法,旨在验证用户界面是否符合业务规范和用户需求,以及验证应用程序的功能是否正确响应用户操作,以保证应用程序的质量和稳定性。
    的头像 发表于 04-21 11:03 568次阅读
    面向<b class='flag-5'>界面</b>的<b class='flag-5'>图形化</b>测试技术