笔记

同事从迪文屏接口, 焊接出一个DB9公头.
因为手头不好找DB9母头, 就用232转485 + 485转232 + 232转USB上电脑测试.
怎么测试都不通, 也将同事焊接的232 TX/RX对调过. 不行.

最后测试时, 直接找了一条双母头的D9连接线, 这样就改成了 DB9公头接口 + 双母头DB9转接线 + 232转USB上电脑. 这回好使.

我不确定那条双母头的2,3是否有交叉. 反正通讯不行时, 就将同事焊接出的DB9公头的2,3调一下测试.

记录一下用串口助手和串口屏通讯的发包的组包

配置文件

屏的配置文件中, 要将触控按键自动上传选上. 最终用的时候, 用的是厂家技术给的配置文件, 用BC4比对过, 2进制上有区别. 但是用DGUS_V7622的修改配置的工具打开后, 都能看到有"触控数据自动上传"
串口屏的对外通讯的串口波特率也是在CFG文件中规定.

触控元素


可以返回事件(“数据自动上传”)的UI元素是"按键返回"

烧录好后, 每按一下触控按键, 串口就会收到回包.

5A A5 06 83 10 0A 01 20 00

包分析
5A A5 帧头
06 后面有6个字节的数据
83 读数据
10 0A 触控事件对应的变量地址是 0x100A
01 // 数据为1个WRORD(2 bytes)
20 00 // 键值是0x2000

向串口屏内存写数据(整数2字节)

假设变量地址是0x1000, 数据长度是2 bytes.
发包 => 5AA5 05 82 1000 00 63
发包分析
5AA5 固定帧头
05 本包带的数据是5bytes
82 帧功能 = 写内存变量
1000 变量地址= 0x1000
00 63 变量值, 长度2字节, 值 = 99

向串口屏内存写数据(浮点数4字节)


假设变量地址是0x1006, 数据长度是浮点数4bytes.
发包 => 5AA5 07 82 1006 3F 9E 06 10

发包分析
5AA5 帧头
07 此包带的数据为7 bytes
82 帧功能 = 写数据
1006 变量地址 = 0x1006
3F 9E 06 10 => 这个是float(4字节)在内存中的内存镜像, 不是大端就是小端,试一下

串口屏问答的回包

如果是写数据到串口屏, 串口屏会有回包.

5A A5 03 82 4F 4B

回包分析:
5A A5 固定帧头
03 后面带的数据为3字节
82 这个回包回答的是0x82(写数据)发包.
4F 4B 固定帧尾

换原厂串口通讯线测试

同事前几天帮忙焊接的排线, 是从焊盘上焊接出来. 测试时, 线打弯的. 很容易发生折断. 谁要是拽一下, 如果脱焊后触到底板上其他焊盘就惨了.

从迪文官方店买了原厂出的通讯线, 带到公司测试.
中间出了一点低级错误, 以为原装线的线序不对, 同事帮忙调整了线序, 将DB9的GND剪掉了(以为不用), 导致各种通讯怪异的情况(一打开串口助手, 就狂收乱码; 收发对调后, 发包和收包都是乱码).

原厂技术支持怀疑是电平不对. 这时去检查线序, 才发现同事将DB9的GND剪掉了…
这时, 半天已经过去了.

其实试验这玩应, 不能信别人, 要自己新手做试验, 自己亲自检查才行.
奈何公司毛工具都没有, 真不顺手.如果是在家里, 自己静下心来, 这种低级错误, 应该能避免的.

原厂提供的通讯线, 除了DIN有2根, 也许可以剪掉一根(没实验). 其他线都是有用的.
将串口屏带回来做试验, 换上原版串口通讯线. 仔细对了线序, 原厂的线是对的.根本不用改…
原厂的质检可以啊.

将接口插座用烙铁补了锡, 保证不是接口引脚接触问题. 因为同事开始焊接时,就是直接从焊盘上焊接的排线.

主要是波特率选对了就行. 波特率可以用DGUS工具直接载入原厂对应屏的demo的CFG, 然后覆盖存到自己工程下面的同名CFG就行.

我回想了一下开始遇到的问题, 上了官方原版通讯线, 屏上触控后, 串口助手上能收到正确回包.
但是我发包时, 没有回包.
确认原版线线序正确后, 我现在检查发包, 才发现是发包整错了, 所以串口屏没回包…
所以出问题或觉得乱的时候, 先静下心来, 自己检查好, 确实发现问题后, 如果条件不允许, 再求助同事.
要不有可能越整越乱, 最后收不了场.

按下串口屏触控后, 串口助手收到正确回包

5A A5 06 83 10 0A 01 20 00

回包分析
5A A5 // 帧头
06 // 有6个字节的数据
83 // 回包对应的发包命令是0x83(读数据)
10 0A // 变量开始地址是0x100A, 触控按钮的变量地址
01 // 变量数据长度为1个WORD(2 bytes)
20 00 // 数据是 0x2000

当时, 我发包时, 只是简单的将触控回包的0x82改成0x83, 随便发了一个包.格式不对, 所以串口屏不回包.
可能当时脑袋进水了. 应该看下说明书, 整个正确的发包才是正道.

假设将触控的回包直接发回去, 因为格式不对, 所以没有回包.

5A A5 06 83 10 0A 01 20 00


连发2遍, 没反应. 我开始因为串口屏通讯出了问题, 就是看到这个现场, 因为通讯线不对的…
0x83命令虽然是读数据, 但是格式不对. 串口屏不回答错误的发包.

发一个正确的读数据命令
// 从0x100A内存地址读2个WORD

5A A5 04 83 10 0A 02

回包

5A A5 08 83 10 0A 02 20 00 00 00

回包内容分析
5A A5 // 帧头
08 // 帧数据有8个bytes
83 // 是读数据的回包
10 0A // 内存开始地址是0x100A
02 // 从内存开始地址返回了2个WRORD(4 bytes)的内存数据
20 00 00 00 // 2个WRORD(4 bytes)内存数据

发一个正确的写数据命令
// 向内存地址0x100A 写4个字节 内容为 0x20 0x00 0x00 0x01

5A A5 07 82 10 0A 20 00 00 01

有正确回包

5A A5 03 82 4F 4B

回包分析
5A A5 // 帧头
03 // 帧数据有3个字节
82 // 回答的是0x82(写命令)
4F 4B // 固定帧尾 4F 4B

迪文串口屏(DMG10600C101-03WTC)的通讯测试相关推荐

  1. 串口 能 按位传输吗_、 迪文串口屏TTL与主控板RS232电平信号转换方案

    迪文串口屏TTL与主控板RS232电平信号转换方案 一.TTL和RS232简述 串口.COM口是指的物理接口形式(硬件),按位(bit)发送和接收字节.而TTL.RS-232是指的电平标准(电信号). ...

  2. rs232接口_、 迪文串口屏TTL与主控板RS232电平信号转换方案

    迪文串口屏TTL与主控板RS232电平信号转换方案 一.TTL和RS232简述 串口.COM口是指的物理接口形式(硬件),按位(bit)发送和接收字节.而TTL.RS-232是指的电平标准(电信号). ...

  3. 迪文串口屏(DMG10600C101-03WTC)的使用测试

    笔记 同事整来一个10寸的迪文串口屏(200+RMB), 让我试试. 去淘宝看了一下, 他买的应该是下面这种. 这次买的屏用DGUS工具开发时, 和旧版的有点不同, 需要配置字库, CFG, ICL ...

  4. 屏幕开发学习 -- 迪文串口屏

    一 前言 最近学习了一款基于图形化开发的屏幕,在摸索一周后,基本熟悉了这款产品的一个开发过程,今天给大家分享一下迪文串口屏的学习过程,有不足之处,还请见谅

  5. 迪文串口屏(1)-DMG80480C070_03WTC

    由于成本缘故,用迪文串口屏去替换项目里的大彩串口屏,样品型号为DMG80480C070_03WTC. 产品命名及硬件特性 10Pin_1.0mm座子,7.0英寸,800*480分辨率,16.7M色,液 ...

  6. 迪文串口屏(T5L2 DGUS II)开发 -- 入门

    [本文发布于https://blog.csdn.net/Stack_/article/details/129652261,未经许可禁止转载,转载须注明出处] 迪文屏资料零散,缺少说明,对新手极不友好, ...

  7. 迪文串口屏的串口通信问题处理(详细)

    串口屏和电脑连接异常 原因分析1: 串口工具打开后,刷新不到串口号串口. 解决方法1: 大部分的台式机会有一个串口1,这个就是电脑的DB9出口,一般用DB9转接延长线,是可以和db9的进行RS2 ...

  8. 迪文串口屏的安装方法之卡扣结构带外壳智能屏

    迪文科技是一家专注于人机交互解决方案的高科技企业.目前,公司有4.3寸.5寸.7寸.8寸.9.7寸.10.1寸.12.1寸.15寸带外壳智能屏,安装方式有固定嵌入旋转式.嵌入直插式.嵌入旋转式三种,正 ...

  9. 迪文串口屏的CFG文件怎么用?

    迪文科技DGUS II中的CFG文件是系统参数配置文件,采用十六进制通过UltraEdit等软件进行编辑. 根据智能屏型号查找对应DGUS应用指南,参照应用指南CFG参数说明部分进行配置.以T5L 0 ...

最新文章

  1. linux strace 用法
  2. 【安全漏洞】gomarkdown/markdown 项目的 XSS 漏洞产生与分析
  3. 推荐 10 个实用型的热门开源项目,开发效率又能提升了!
  4. linux日志本地存储和网络存储,文件系统和本地存储管理 1
  5. 9家专利拥有者退出MPEG LA HEVC 华为加入HEVC Advance
  6. 如何给ABAP类自动生成帮助文档
  7. activemq部署安装
  8. 【动态规划】0/1背包问题
  9. MYSQL的随机查询的实现方法
  10. CentOS7.5 Linux搭建全文检索--Solr7.4.0单机服务
  11. Linux内核深入理解系统调用(2):vsyscall 和 vDSO 以及程序是如何运行的(execve)
  12. 运用Mono.Cecil 反射读取.NET程序集元数据
  13. 软件测试人不得不读的经典书籍推荐
  14. 不同网段的直连怎么互通_什么样的网络能互通,什么样的网络不能互通?
  15. 仿uc设置默认浏览器
  16. 基于Multisim的220v转12v典型开关电源电路仿真
  17. MacBook 管理员账户无法删除 解决方法
  18. PIO(编程输入/输出模型)和DAM(直接访问内存)
  19. 关于推荐算法未来的思考:推荐诗与远方
  20. 《影响力》- 作者 Robert B. Cialdini 罗伯特·西奥迪尼 读后感

热门文章

  1. Unity Shader UV动画之高光材质加上透明材质与UV动画
  2. ElasticSeacher 基本查询 方法一
  3. SAP License:SAP软件作用是什么
  4. MYSQL安装完成后,需要手动安装workbench
  5. 区块链学习笔记(初识区块链)
  6. python3数据处理(一)-- 解析XML,Excle文件
  7. 移动机顶盒搭建网页服务器,超级简单搭建自己的私人影视库
  8. 射频信号布板时为什么要打密密麻麻的过孔?
  9. 【Ubuntu】安装企业微信(Wine)
  10. ping +域名 具体能做什么