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

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

3天内不再提示

迪文串口屏基础GUI开发流程

亿佰特物联网应用专家 2024-07-05 08:21 次阅读

前言

手头有一款闲置串口屏,其型号为,是一款7寸800*480分辨率的电容触摸屏。这款屏幕是支持6~36V供电的,自带3个串口输出,分别是UART2,UART4,UART5。其中UART2和UART4是RS232接口的,UART2也作为系统默认的调试串口,UART5是RS485接口的,但UART4和UART5都需要对系统的OS核做修改才能使用。迪文的资料较为混乱,花费了大量的时间研究。

827c918a-3a64-11ef-a655-92fbcf53809c.png

首先:迪文芯片分为T5和T5L系列,并不兼容,在T5L内同时分为T5L0\T5L1\T5L2,但在官网最新的<迪文 T5L ASIC 应用开发指南.pdf>版本为V1.1,这一参考资料中,仅描述了T5L1以及T5L2系列,这个区别主要是屏幕显示分辨率和存储扇区以及单个文件大小的限制方面有区别。

8296fdcc-3a64-11ef-a655-92fbcf53809c.png

82b36bce-3a64-11ef-a655-92fbcf53809c.png82d18abe-3a64-11ef-a655-92fbcf53809c.png

通过查看迪文给出的手册得知此款屏幕采用的迪文自研的T5L0芯片,但不知为何手上这款虽然型号相同,但在程序更新时显示的则是T5L1,与手册标注并不相同。但在开发过程中选择T5L0或是T5L1没有区别,也可能是没有达到等级的分水岭。

其次:如手册所说,T5L是单芯双核,指的是芯片内部是两个单独的8051核心,分别是GUI核和OS核,两个核心对应的功能不同,开发方式也截然不同,这点需要特别注意。GUI核运行迪文自己的DGUS Ⅱ系统,使用迪文推出的上位机软件进行开发,OS核可以由用户自己开发功能或使用迪文提供的基本功能示例,但遇见复杂情况还是无法满足需求,需要用户自己编写处理逻辑,有两种开发方式可选:一是标准C代码,二是汇编指令开发,可以采用KEIL或迪文推出的< DWIN C Complier>进行8051内核OS代码的开发,KEIL开发需要安装迪文提供的驱动包< KEIL AGDI T5 >。

需求

使用这款屏幕的目标是:

①作为主机进行ModBus通信

②读取指定从机数据并显示到屏幕中的指定变量

③支持下发参数至从机ModBus寄存器

④使用RS485接口

从需求来看,需要做的事情可以分为两个部分,一是UI数据的显示,迪文的DGUS Ⅱ采用的方式是用事先设计好的图片做背景,所有的操作均以图片为基础进行布局、显示和触摸,这就需要提前设计好整个系统的UI原型和交互流程。二则是ModBus数据交互,数据交互已经超出了GUI核的处理范围,所以需要进行OS核的代码编写,因为ModBus已经是广泛的工业协议,所以迪文已经提前编译了各个串口的ModBus协议栈程序了,用户需要替换对应的DWINOS程序以及按要求下载指令配置文件即可。

实施

1. UI数据显示

素材准备

如上所说,整个系统流程是以图片为导向的,所以在设计系统前即应该画出设计原型,这里选择的800*480分辨率的屏幕,所以在图片尺寸上也应设置相同尺寸,但在图片的格式上迪文做了一些限制,需要24bit色深的bmp或jpg\jpeg格式,Windows可以在图片上右击->属性->详细信息中看到图片的分辨率和大小以及色深,如果图片不满足要求的话下载进屏幕会导致屏幕出现黑屏或其他无法正常显示的情况。

83088e4c-3a64-11ef-a655-92fbcf53809c.png

当确定所有的图片格式后,需要将图片统一按0x[_xx]的序号进行命名,序号后的汉字不做要求,可有可无,这里为了方便对图片做区分,选择添加。

83210184-3a64-11ef-a655-92fbcf53809c.png

图片准备好后, DGUS Ⅱ不支持直接在文件系统中以图片格式(bmp/jpg)显示背景,需要将其转换为ICL文件格式。这里使用的DGUS Ⅱ软件自带的转换工具即可。

833dccba-3a64-11ef-a655-92fbcf53809c.png

这里引出来在开发中遇见的一个大坑点,就是关于迪文DGUS Ⅱ文件系统索引,DGUS Ⅱ将系统flash分为多个扇区,每个扇区的大小是256K,扇区号从0开始,所有的需要存入屏幕flash的文件都需要用户手动来确定扇区大小,其中0号为默认的系统字库,使用软件默认生成的大小为3011K,按256K一个扇区来算,0号字库占据12个扇区,紧接着是系统配置的触摸文件13、用于数据显示的数据文件14以及系统配置文件22。

836063b0-3a64-11ef-a655-92fbcf53809c.png837cc294-3a64-11ef-a655-92fbcf53809c.png

这三个文件是系统默认生成的,在文件选项卡-单击生成即可,但请注意,当13文件超过32K后无法使用B0指令关闭指定的触控控件, 并且22文件系统开机是默认不加载的,需要在CFG文件中指定开机加载22文件功能。官方默认的扇区号是有64个,除了这1~14,22号扇区用户不能使用之外,其余的用户都可以使用,官方有推荐的划分表,具体可以查看手册。

接下来讲需要用户准备的,首先就是背景图文件,其次是图标文件,如果你的工程内不需要显示图标也可以不准备,再次注意,在官方的历程中推荐的背景文件扇区号是32,图标文件扇区号是48,因为他们历程中使用的屏幕内置FLASH大小是16M的,而手头这一款屏幕内置FLASH只有8M,当按照官方推进的扇区号进行开发时出现字库乱码现象,几经排查无果,询问技术支持得知FLASH大小不够,能用的扇区只有32个,导致覆盖掉了FLASH前段的字库文件照成了显示异常,由于图片ICL与图标ICL占据不大,将其调整为23/24号,调整了默认图片索引后需要在CFG文件中修改图片起始扇区号,最终问题得到解决。

8390c6cc-3a64-11ef-a655-92fbcf53809c.png

当素材准备完毕后打开DGUS Ⅱ软件,选择新建工程,选择适合自己的屏幕分辨率,进入工程后,点击主页左侧⨁号,进行素材的导入,可一次导入多张图片。

83b287ee-3a64-11ef-a655-92fbcf53809c.png

当导入图片过后,即可在图片上绘制数据显示位置和显示方式等,当前示例中,假设数据为数值类型,点击文本显示->数据变量,在设定的位置拖放数据显示区域大小即可。

83e352c0-3a64-11ef-a655-92fbcf53809c.png

将需要显示的数据按需求放置完成后,即需要对每个数据变量进行单独设置,这就引出了DGUS Ⅱ系统中另一个坑点-<变量地址>,是的,DGUS Ⅱ系统中需要用户来确认每一个控件的大小和地址,每一种控件的大小并不一致,为了避免麻烦和后期隐患,所以在很多的教程中都是建议直接间隔0x10,例如:

83fc9744-3a64-11ef-a655-92fbcf53809c.png

在这里要注意变量类型,需要与最终的呈现效果一致,在这里笔者需要显示浮点数并带一位小数,所以将其设置为单精度浮点数即可。

841bf08a-3a64-11ef-a655-92fbcf53809c.png

当设置完成后,可以在显示选项卡-从当前页开始预览即可看到效果,但请注意软件内存在bug,不能完全模拟出实际效果,部分情况下当确认设置没有问题之后,可以将其下载到串口屏内查看,配置文件/ICL/字库文件可以通过软件内的串口下载。

843215ea-3a64-11ef-a655-92fbcf53809c.png

但注意串口下载工具不能下载OS程序/CFG文件以及内核文件,这类文件均只能使用SD卡进行离线更新。SD卡下载需要对卡进行特殊处理且下载时具有特定的命名规则,这里建议最好是按他这个格式要求格式化一次,后续可以使用Windows的快速格式化功能,直接使用快速格式化有可能屏幕是无法正常读取的。

844faf1a-3a64-11ef-a655-92fbcf53809c.png846d38c8-3a64-11ef-a655-92fbcf53809c.png

篇幅有限,具体ModBus部分等待后期文章展开。

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

    关注

    42

    文章

    2179

    浏览量

    114425
  • GUI
    GUI
    +关注

    关注

    3

    文章

    620

    浏览量

    39059
  • 串口屏
    +关注

    关注

    8

    文章

    493

    浏览量

    36760
  • 迪文屏
    +关注

    关注

    3

    文章

    67

    浏览量

    5165
收藏 人收藏

    评论

    相关推荐

    跪求STM32和串口通信

    各位高手,跪求STM32和串口通信,并且
    发表于 09-25 09:24

    DWIN串口的使用经验

    串口,性价比高,质量稳定可靠,的种类多,消费类,工业类,医疗、军工、特殊行业等苛刻应用类,各个尺寸均有设计。所以基本能用得上,我分
    发表于 07-02 07:03

    DWIN串口的使用经验

    串口,性价比高,质量稳定可靠,的种类多,消费类,工业类,医疗、军工、特殊行业等苛刻应用类,各个尺寸均有设计。所以基本能用得上,我分
    发表于 07-02 07:08

    DWIN串口有哪些功能呢

    DWIN串口有哪些功能呢?怎样去使用DWIN串口
    发表于 09-28 08:58

    COF结构智能试用体验】基于COF结构智能的继电器控制加热设备

    /jishu_2269839_1_1.html此项目是移植现有的加热设备程序到COF结构智能框架,主要是基于COF结构智能
    发表于 03-31 17:34

    COF结构智能试用体验】和esp32的图书检索及录入系统

    esp32传来的事件信息。 三、开发图书检索 图书录入 四、遇到的问题串口的数据传输,
    发表于 04-06 19:03

    COF结构智能试用体验】基本开发流程

    GUI图形界面构建和渲染,内置2D硬件加速,可以使我们的图形界面刷新和切换极其的流畅。3.思想准备所谓思想准备就是开发设计过程,理解
    发表于 04-08 14:23

    COF结构智能试用体验】优缺点分析和适用场景

    有基本的了解,比如每个文件名是什么含义。我认为文官方后续可以改进这一点用户体验,可以通过DGUS tool开发出界面相关文件,将这
    发表于 04-10 00:21

    COF结构智能试用体验】基于串口通信的电子相册(动态平滑、完整代码)

    分享。 这篇分享,涉及或需要了解下面的知识: COF智能基础了解 运行时内存中数据存储的原理 DBUS
    发表于 12-06 15:58

    开发便捷的工业串口

    硬件设计 二次开发过程中,工业串口对用户系统硬件 要求非常简单: 1.给
    发表于 12-02 14:36 418次下载
    <b class='flag-5'>开发</b>便捷的<b class='flag-5'>迪</b><b class='flag-5'>文</b>工业<b class='flag-5'>串口</b><b class='flag-5'>屏</b>

    工业串口用户软件开发指南

    工业串口用户软件开发指南.
    发表于 04-25 15:05 120次下载
    <b class='flag-5'>迪</b><b class='flag-5'>文</b>工业<b class='flag-5'>串口</b><b class='flag-5'>屏</b>用户软件<b class='flag-5'>开发</b>指南

    单片机控制串口

    的),并生成各类文件(字库、变量文件、图片等)通过内存卡下载到串口。 然后通过串口发送命令(80 81 82 )可以控制变量数值进而控
    发表于 11-13 17:51 41次下载
    单片机控制<b class='flag-5'>迪</b><b class='flag-5'>文</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>

    串口与STM32的通信

    与stm32F407的通信测试文章目录与stm32F407的通信测试前言一、实验目的
    发表于 12-24 18:39 82次下载
    <b class='flag-5'>迪</b><b class='flag-5'>文</b><b class='flag-5'>串口</b><b class='flag-5'>屏</b>与STM32的通信

    COF开发手册

    文科技的COF开发流程进行了整理,便于协助用户快速开发
    发表于 06-08 14:44 0次下载

    串口与STM32通讯资料分享

    串口与STM32通讯资料分享
    发表于 08-28 10:14 80次下载