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

    文章

    4495

    浏览量

    74436
  • 工业控制
    +关注

    关注

    38

    文章

    1460

    浏览量

    85904
  • 软件包
    +关注

    关注

    0

    文章

    104

    浏览量

    11613

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

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

收藏 人收藏

    评论

    相关推荐

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

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

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

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

    2.0寸单色LCD液晶显示屏,12864图形点阵

    显示屏串口
    乾思迪电子科技
    发布于 :2024年11月19日 16:45:32

    液晶显示屏与led显示屏的区别

    在现代电子设备中,显示屏是人机交互的重要界面。随着科技的发展,显示屏技术也在不断进步,其中液晶显示屏(LCD)和LED显示屏是两种主流的
    的头像 发表于 10-12 10:39 1475次阅读

    2024年LED显示屏行业发展现状及竞争格局

    的视角等特点,被广泛应用在广告、媒体、舞台以及商业展示等多个领域。 LED显示屏的分类方式多种多样。例如,按照显示色彩来划分,LED显示屏可以分为
    的头像 发表于 09-09 08:59 1580次阅读
    2024年LED<b class='flag-5'>显示屏</b>行业发展现状及竞争格局

    单片机图形化编程软件有哪些

    单片机图形化编程软件开发者提供了种更加直观、易于上手的编程方式,尤其适合初学者和教育领域。以下是些常见的单片机
    的头像 发表于 09-02 10:14 1423次阅读

    P2.5LED显示屏好还是P3LED显示屏好?

    好? 、LED显示屏 LED显示屏种新型的显示设备,其通过发光二极管的发光实现显示的功能。
    的头像 发表于 08-29 15:33 495次阅读

    详解LED显示屏的基本结构和控制方式

    LED电子显示屏作为种高效的信息显示工具,广泛应用于广告、交通、体育等多个领域。它的基本结构和控制方式是实现高效、清晰
    的头像 发表于 07-19 08:49 1220次阅读

    工业显示屏与普通显示屏有什么区别

    工业显示屏与普通显示屏之间存在显著的差别,这些差异主要体现在设计、性能、用途和工作环境的适应性上。以下是些主要的区别
    的头像 发表于 06-12 14:18 592次阅读
    <b class='flag-5'>工业</b><b class='flag-5'>显示屏</b>与普通<b class='flag-5'>显示屏</b>有什么区别

    Epson推出的S2D13V70助力实现车载显示屏

    规则显示屏、分屏应用等。同时为了将控制信号和显示信号集成进入汽车控制器,因此需要设计一款通用性较强的显示
    发表于 05-21 15:14 0次下载

    LED电子显示屏的相关报告

    LED电子显示屏种利用LED发光二极管作为显示元件,通过控制LED的亮灭来显示文字、图像、视频等信息的
    发表于 04-03 17:18 0次下载

    佳维视工控显示屏应用场景有哪些

    工控显示屏工业控制领域中不可或缺的显示设备,广泛应用于各种工业环境中,为生产制造提供了可靠的监
    的头像 发表于 03-26 17:28 499次阅读
    佳维视工控<b class='flag-5'>显示屏</b>应用场景有哪些

    Led显示屏控制系统怎么使用 led显示屏控制器怎么设置

    Led显示屏控制系统是种用于控制LED显示屏的硬件设备,通过它可以实现对LED显示屏的亮度、颜
    的头像 发表于 02-03 14:03 8221次阅读

    LED显示屏都有哪些性能呢?

    LED显示屏是目前常用的户外以及室内的大显示,应该如何挑选一款性能高的LED显示屏呢,LED灯珠是影响其
    的头像 发表于 01-25 10:09 884次阅读

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

    ,可以说是这方面的优秀代表。 以精密加工设备例,利用嵌入式工控机辅以数据采集卡和运动控制卡加工业显示屏的方案,替代原有的PLC方案,使设备性能有了进
    的头像 发表于 01-22 16:38 505次阅读
    <b class='flag-5'>工业</b>触控<b class='flag-5'>显示屏</b>在<b class='flag-5'>工业</b><b class='flag-5'>控制</b>中的应用