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中的位置:

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

    关注

    30

    文章

    4672

    浏览量

    78690
  • 工业控制
    +关注

    关注

    38

    文章

    1607

    浏览量

    89875
  • 软件包
    +关注

    关注

    0

    文章

    113

    浏览量

    12089

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

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

收藏 人收藏
加入交流群
微信小助手二维码

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    iTOP-3568开发板 Linux驱动开发实战:menuconfig图形化配置实验

    iTOP-3568开发板 Linux驱动开发实战:menuconfig图形化配置实验
    的头像 发表于 11-24 15:29 516次阅读
    迅<b class='flag-5'>为</b>iTOP-3568开发板 Linux驱动开发实战:menuconfig<b class='flag-5'>图形化</b>配置实验

    基于RK3568开发板显示屏调试适配方法(1)-如何在Uboot界面切换显示屏

    显示屏作为电子产品不可或缺的部分,此文档的目的在于帮助用户调试适配其它显示屏。本文档将以调试适配7寸MIPI例。本文档章节安排:第
    的头像 发表于 11-07 16:19 554次阅读
    基于RK3568开发板<b class='flag-5'>显示屏</b>调试适配方法(1)-如何在Uboot<b class='flag-5'>界面</b>切换<b class='flag-5'>显示屏</b>

    灵动微电子最新最火热的一款芯片推荐

    希望找一款灵动微电子最新最火热的一款芯片,我们想做图形化界面配置,供大家以后直接创建工程,用国产工具McuStudio做,McuStu
    发表于 10-29 17:15

    硕博电子7寸触摸显示屏,支持CAN通信和Codesy编程#工业显示屏 #汽车CAN总线  #触摸显示屏

    显示屏
    长沙硕博电子科技股份有限公司
    发布于 :2025年09月18日 15:29:59

    PPEC电源DIY套件:图形化算法编程,解锁电力电子底层算法实践

    智能设计平台,用户提供了个接触和操作底层算法的便捷途径。 用户无需进行复杂的代码编写,可以键套用工程模版,也可以通过图形化
    发表于 08-14 11:30

    一款专为「镜面/透明工件」而生的激光位移传感器

    传统激光位移传感器遇到[ 高透亮 ]工件,会无法检测,或者误差很大。光子精密有一款专为「镜面/透明工件」而生的激光位移传感器。
    的头像 发表于 08-14 10:13 670次阅读
    <b class='flag-5'>一款</b><b class='flag-5'>专为</b>「镜面/透明工件」<b class='flag-5'>而生</b>的激光位移传感器

    老铁!你做工业的,真不考虑下这个嘛?

    上海晶珩(EDATEC)推出的ED-MONITOR系列是一款专为工业环境设计的高性能触摸显示屏产品线,以其高亮度、坚固耐用、即插即用的特点在工业
    的头像 发表于 07-26 20:43 362次阅读
    老铁!你做<b class='flag-5'>工业</b>的,真不考虑<b class='flag-5'>一</b>下这个<b class='flag-5'>屏</b>嘛?

    图形化编程与树莓派的“跨界联姻”​

    的这图形化编程平台,凭借其直观的拖拽式界面和强大的数据处理能力,成为了工程师与创客们的“心头好”。而近期,当LabVIEW与树莓派Pico这微型
    的头像 发表于 04-17 16:03 1095次阅读
    <b class='flag-5'>一</b>场<b class='flag-5'>图形化</b>编程与树莓派的“跨界联姻”​

    红冉LED显示屏:技术革新引领未来发展

    ,随着技术的进步成熟和市场需求的增长,LED显示屏市场将迎来新的发展机遇,成为全球显示技术领域的重要引领者。 LED显示屏的发展历程充分体
    的头像 发表于 04-10 17:19 605次阅读
    红冉LED<b class='flag-5'>显示屏</b>:技术革新引领未来发展

    推荐一款MIP超低功耗显示屏1.28寸/LS013B7DH03 工作功耗低至50µW

    LS013B7DH03是日本厦普SHARP推出的一款1.28寸超低功耗黑白显示屏(MIP),它在每个像素点嵌入了存储体,来存储图形数据,因此静止的图像不需要连续刷新,与传统TFT显示屏
    发表于 04-01 10:23

    图形显示控制芯片RA6809可适用于哪些应用场景

    RA6809作为一款‌彩色TFT-LCD图形显示控制器芯片‌,最高支持1366*2048分辨率,主要面向需要‌图形化
    发表于 03-21 11:08

    2.0寸显示屏,轻薄低功耗12864点阵COG显示屏

    2.0寸单色LCD液晶显示屏12864图形点阵,轻薄低功耗128*64点阵COG显示屏
    的头像 发表于 02-19 12:02 1051次阅读
    2.0寸<b class='flag-5'>显示屏</b>,轻薄低功耗12864点阵COG<b class='flag-5'>显示屏</b>

    低功耗128*128点阵工业SPI串口通讯单色LCD液晶显示模块 128128点阵COG显示屏

    显示屏
    深圳市乾思迪电子科技有限公司
    发布于 :2024年12月13日 14:26:08

    1.4寸单色显示屏 图形点阵128*64点阵小尺寸COG液晶显示模块

    显示屏
    深圳市乾思迪电子科技有限公司
    发布于 :2024年12月13日 14:07:23

    小尺寸单色LCD液晶显示屏12832图形点阵 低功耗128*32点阵COG显示模块

    显示屏
    深圳市乾思迪电子科技有限公司
    发布于 :2024年12月13日 10:11:31