P1.前言
快速了解迪文屏串口通信的基础知识,本篇为下篇。
参考资料《T5L DGUSII 应用开发指南》可在迪文官网(https://www.dwin.com.cn)获取。

P2.写变量地址指令(0x82)
以向0x1000变量地址写入数值2为例,其指令为:5A A5 05 82 1000 0002
5A A5 :帧头,固定格式
05:指令长度 ,单位字节(Bytes)
82:写变量地址指令
1000:变量地址
0002:数据2
指令执行结果0x1000地址将写入数据0x0002。
发送之后,屏幕会应答:5A A5 03 82 4F4B,其中“4F4B”为固定内容,无实际含义。
注意,迪文屏读、写变量的地址都是起始地址,例如连续发送a、b指令的效果等于发送c指令:
a: 5A A5 05 82 1001 000A
b: 5A A5 05 82 1002 000B
c: 5A A5 07 82 1001 000A 000B

P3.读变量地址指令(0x83)
以读取0x1000 变量地址对应存储空间保存的数据为例,其指令为:5A A5 04 83 1000 01
5A A5:帧头,固定格式
04:指令长度,单位字节(Bytes)
83:读变量地址指令
1000:变量地址
01:从0x1000 地址开始读1个字长度的数据(一次最多读取0x7C长度)
读完以后屏会向串口返回:5A A5 06 83 1000 01 0002
5A A5:帧头,固定格式
06:指令长度,单位字节(Bytes)
83:读变量地址指令
1000:变量地址
01:返回数据长度1字(Word)长
0002:读取到的数据内容

P4.触摸数据自动上传
触控控件勾选数据自动上传,按下触控控件时,键值同时被发送到对应变量地址及串口。MCU可以通过串口接收此键值,判断哪个触控控件被按下。此功能要配合修改CFG文件配置的触控变量改变自动上传才能生效。

触控控件勾选此处

CFG设置选中自动上传
以按键返回为例,键值0x0001,变量地址0x1000,则按下后串口接收到:5A A5 06 83 1000 01 0001
5A A5:帧头,固定格式
06:指令长度,单位字节(Bytes)
83:读变量地址
1000:变量地址
01 :数据为1字(Word) 长
0001:键值

P5.CRC校验
校验格式为CRC16,从指令(0x82、0x83)开始校验。开启CRC校验需要修改CFG文件配置。

选中开启CRC校验
比如指令5A A5 05 82 5420 0064,开启CRC校验后,会计算校验“82 5420 0064”,校验结果为0x4C0F(部分校验工具高低位相反,则校验结果为0x0F4C)。指令的内容变为:5A A5 07 82 5420 0064 4C0F。