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

    文章

    4724

    浏览量

    79951
  • 工业控制
    +关注

    关注

    38

    文章

    1721

    浏览量

    92476
  • 软件包
    +关注

    关注

    0

    文章

    117

    浏览量

    12191

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

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

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

扫码添加小助手

加入工程师交流群

    评论

    相关推荐
    热点推荐

    Kingbright TC07 - 11YWA 18mm单色彩点矩阵显示屏技术解析

    Kingbright TC07 - 11YWA 18mm单色彩点矩阵显示屏技术解析 在电子设备的显示领域单色彩点矩阵
    的头像 发表于 05-19 14:05 137次阅读

    Kingbright TC07 - 11SYKWA 18mm单色彩点矩阵显示屏解析

    Kingbright TC07 - 11SYKWA 18mm单色彩点矩阵显示屏解析 在电子设备的设计中,显示屏个关键的组件。今天我们来深入了解
    的头像 发表于 05-19 14:05 134次阅读

    Kingbright TC07 - 11SRWA 18 mm单色彩点矩阵显示屏的设计与应用

    Kingbright TC07 - 11SRWA 18 mm单色彩点矩阵显示屏的设计与应用 在电子设备的显示领域单色彩点矩阵
    的头像 发表于 05-19 14:05 125次阅读

    18mm单色彩点矩阵显示屏TA07 - 11YWA技术解析

    显示屏TA07 - 11YWA。 文件下载: TA07-11YWA.pdf 产品概述 TA07 - 11YWA是一款黄色的单色彩点矩阵显示屏,矩阵高度
    的头像 发表于 05-19 14:05 135次阅读

    Kingbright TA07 - 11SYKWA 18mm单色彩点矩阵显示屏技术解析

    Kingbright TA07 - 11SYKWA 18mm单色彩点矩阵显示屏技术解析 在电子设备的显示领域,选择一款合适的
    的头像 发表于 05-19 12:55 141次阅读

    E Ink分段式单色电子纸显示屏:低功耗与高性能的完美结合

    E Ink分段式单色电子纸显示屏:低功耗与高性能的完美结合 在电子设备设计领域显示屏的选择至关重要,它不仅影响着产品的视觉效果,还与功耗、空间利用等因素密切相关。今天,我们来深入了解
    的头像 发表于 05-14 11:50 413次阅读

    E Ink分段式单色电子纸显示屏:低功耗与高适用性的完美结合

    E Ink分段式单色电子纸显示屏:低功耗与高适用性的完美结合 在电子设备设计领域显示屏的选择至关重要,尤其是在对功耗和空间有严格要求的场景下。今天,我们来深入了解
    的头像 发表于 05-14 11:50 370次阅读

    东软载波微电子ES-CodeMaker图形化代码自动生成工具发布

    上海东软载波微电子有限公司深耕 MCU 领域,已经推出ES32、ES32V、ES8等系列 MCU 产品,每产品均拥有完善的 SDK 包,覆盖通用控制、触摸交互、图形
    的头像 发表于 03-25 15:25 462次阅读
    东软载波微电子ES-CodeMaker<b class='flag-5'>图形化</b>代码自动生成工具发布

    [工具讨论] 如果有一款国产图形化配置工具STM32Cube,支持所有内核和厂商MCU,你会用吗?

    涉及多家厂商芯片时,要在多个工具间切换 如果有一款这样的工具 我们想和大家讨论个假设性问题: 如果有一款国产的图形化配置工具,具备以下特性,你会考虑使用吗? 核心特性对比 对比维度
    发表于 01-26 10:30

    RUI Builder 图形化UI设计工具

    RUI Builder 图形化UI设计工具 该软件图形化UI设计软件,搭配瑞佑图形处理器,轻松设计UI界面!主要特色功能: 在PC上直接
    发表于 12-12 20:14

    基于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 2163次阅读
    <b class='flag-5'>一款</b><b class='flag-5'>专为</b>「镜面/透明工件」<b class='flag-5'>而生</b>的激光位移传感器