TGUS开发——串口指令格式

1指令格式

TGUS 串口屏采用异步、全双工串口(UART),串口模式为 8n1(51 单片机的 MOD1,9bit UART),即每个数据传送采用 10 个位:1 个起始位,8 个数据位,1 个停止位。

串口的所有指令或者数据都是 16 进制(HEX)格式; 对于多字节数据,采取高字节在前(MSB),如发送 0x12345678 则依次发送 0x12 0x34 0x56 0x78,即大端模式。

定义帧头数据长度指令起始地址数据指令和数据的CRC校验
数据长度(Byte)2111/2/4N2
说明CONFIG.TXT 配 置 文件的 R3:RA 定义,默认 5A A5数据长度包括指令、数据和校验0x80-0x83位数会因指令不同发生变化读取/写入的数据CONFIG.TXT 决定是否启用配置文件的 R2.4
举例5A A5058100101E 5B

指令帧头

为双字节,其内容用户可以自定义(寄存器R3、RA),用户可以通过设定不同的帧头,实现多台TGUS屏的并联应用。

CRC 校验

不包括帧头和数据长度,仅针对指令和数据。

当启用 CRC 帧校验应答(R2.4=1 RC.3=1)后,TGUS 屏会在 CRC 校验后自动应答校验情况:

帧头+02+指令+数据(0xFF 表示CRC校验正确,0x00表示CRC校验错误)+CRC


指令集

功能指令起始地址 + 数据说明
访问控制寄存器写:0x80下发:ADDR(0X00-0XFF)+ DATA
ADDR:寄存器地址
DATA:写入寄存器中的数据
指定地址开始写寄存器数据
访问控制寄存器读:0x81下发:ADDR(0X00-0xFF)+DATA_LEN(0X00-0xFF)
ADDR:寄存器地址
DATA_LEN:读取的数据长度(字节长度)
指定地址开始读寄存器数据
访问控制寄存器读:0x81应答:ADDR(0x00-0xFF)+DATA_LEN+DATA
ADDR:寄存器地址
DATA_LEN:读取的数据长度(字节长度)
DATA:寄存器中的数据
串口屏回复读取寄存器数据命令
访问数据寄存器写:0x82下发:ADDR(H:L)+DATA
ADDR:寄存器地址 DATA:想要写入的数据
向指定寄存器地址开始写寄存器数据
访问数据寄存器读:0x83下发:ADDR(H:L)(0x0000-0x6FFF)+DATA_LEN(0x00-0xfc)
ADDR:寄存器地址
DATA_LEN:想要读的数据长度(字长度)
从指定寄存器地址开始读数据
访问数据寄存器读:0x83应答:ADDR(H:L)(0x0000-0x6FFF)+DATA_LEN(0x00-0xfc)+DATA
ADDR:寄存器地址 DATA_LEN:想要读的数据长度(字长度)
DATA:读取的数据。
串口屏回复寄存器地址读出的数据

指令举例

  • 访问串口屏控制寄存器,控制串口屏跳转至第4页

发送(HEX) 5A A5 04 80 03 00 04

5AA5 通信帧帧头。

04 数据长度。

80 写控制寄存器指令。

03 控制寄存器中 PIC_ID 地址。

0004 跳转至第4页。

  • 访问串口屏控制寄存器,读取触摸位置信息

发送(HEX) 5A A5 03 81 07 04

5AA5 通信帧帧头

03 数据长度。

81 读控制寄存器指令

07 控制寄存器中 TP_Position 地址。

04 读取寄存器数据长度

接收(HEX) 5A A5 07 81 07 04 00 12 00 45

5AA5 通信帧帧头。

07 数据长度。

81 读控制寄存器指令。

07 读取的控制寄存器地址。

04 读取的数据长度。

0012 TP_Position寄存器中的X坐标值。

0045 TP_Position寄存器中的Y坐标值。

  • 访问串口屏数据变量存储器,向地址0013中写入数字1234(short int)

发送(HEX) 5A A5 05 82 00 13 12 34

5AA5 通信帧帧头。

05 数据长度。

82 写数据变量存储区指令。

0013 写入变量存储区的地址。

1234 写入对应地址的数据。

  • 访问串口屏数据寄存器,读取地址0013中的1个字(2个字节)数据

发送(HEX) 5A A5 04 83 00 13 01

5AA5 通信帧帧头。

04 数据长度。

83 读数据寄存器指令。

0013 读取数据寄存器的地址。

01 读取的数据长度

接收(HEX) 5A A5 06 83 00 13 01 12 34

5AA5 通信帧帧头。

06 数据长度。

83 读数据寄存器指令。

0013 读取数据寄存器的地址。

01 读取的数据长度

1234 读取的数据。

  • 访问串口数据寄存器,向多个寄存器写入指令。

发送(HEX) 5A A5 09 82 0132 0001 0120 0000

5AA5 通信帧帧头。

09 数据长度。

82 写数据变量存储区指令。

0132 写入变量存储区的地址。

0001 写入对应地址的数据。

0133 写入变量存储区的地址。

0120 写入对应地址的数据。

0134 写入变量存储区的地址。

0000 写入对应地址的数据。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值