串口通信协议基本样式
AOI串口通讯协议
1 PC与LCD测试架的通讯
PC与LCD测试架之间采用232串口线连接,
传输参数:波特率:115200,校验位:无,数据位:8,停止位:1,流控制:无
2 通讯数据包格式
数据包格式:
标志0x5A |
数据长度N 1~255 |
数据1 D1 |
数据2 D2 |
…… |
数据N Dn |
校验和CheckSum CheckSum=D1+D2+……+Dn |
标志: 1字节的包头起始标志,固定为0x5A
数据长度: 1字节,表示数据内容的长度,长度范围1~255
数据内容: 不定长字节,长度范围1~255
校验和: 1字节,所有数据内容相加后的和再强制转换为BYTE类型后的值
举例如下:
0X5A 0X04 0x0A 0XFF 0X40 0X90 0XD9
CheckSum = 0X0A+0XFF+0X40+0X90 = 0X1D9 取低8位数据 = 0XD9
u LCD测试架上电复位后串口连续发送8个0X5A数据通知PC开机启动,PC程序检测到5个连续的0X5A数据后认为LCD测试架上电复位。
测试架上电后发送
测试架→PC: 0X5A 0X5A 0X5A 0X5A 0X5A 0X5A 0X5A 0X5A
u 所有通讯命令由PC软件发起命令包,LCD测试架回复应答包,应答包内容等同命令包。
u 通讯命令:
0x00 显示特殊画面
0x01 显示指定颜色的单色画面
0x02 特殊指令
0x03 读取指令
3 通讯命令详解
3.1 显示特殊画面(0x00)
0x5A |
0x02 |
0x00 |
index |
Line-w |
Gray level |
CheckSum |
第一字节(1) = 标志0x5A
第二字节(2) = 数据长度0x02
第三数据字节(3) = 命令0x00
第四数据字节(4) = 要显示的特殊画面序号
第五数据字节(5) = 设置线宽
第六数据字节(6)= 设置背景灰度(0~255)
Index数据含义:
0x00 |
显示边框画面,可设线宽和背景灰度 |
0x10 |
MEMORYNO 0 |
0x11 |
MEMORYNO 1 |
0x12 |
MEMORYNO 2 |
0x13 |
MEMORYNO 3 |
|
|
第七字节(7) = 数据累加校验和
举例:
PC命令测试架显示MEMORYNO 0画面,线宽为3,背景灰度为100
PC→测试架:0X5A 0X04 0X00 0X10 0x03 0x64 0X77
测试架应答表示完成显示
测试架→PC: 0X5A 0X04 0X00 0X10 0x03 0x64 0X77
3.2 显示指定颜色的单色画面(0x01)
0x5A |
0x04 |
0x01 |
R |
G |
B |
CheckSum |
R:颜色的红色分量0~255
G:颜色的绿色分量0~255
B:颜色的蓝色分量0~255
举例:
PC命令测试架显示红色画面
PC→测试架: 0X5A 0X04 0X01 0XFF 0X00 0X00 0X00
测试架应答表示完成显示
测试架→PC: 0X5A 0X04 0X01 0XFF 0X00 0X00 0X00
3.3 特殊指令(0x02)
0x5A |
0x02 |
0x02 |
index |
CheckSum |
Type(修改模式) |
第一字节(1) = 标志0x5A
第二字节(2) = 数据长度0x02
第三数据字节(3) = 命令0x02
第四数据字节(4) =特殊指令序号
Index数据含义:
0x00 |
LCD Power On |
0x01 |
LCD Power Off |
0x02 |
LCD Up |
0x03 |
LCD Down |
0x04 |
修改模式 |
第五字节(5) = 数据累加校验和
第六字节(6) = 修改类型选择
举例:
PC命令测试架 LCD Power On
PC→测试架:0X5A 0X02 0X02 0X01 0X03
测试架应答表示完成LCD Power On操作
测试架→PC: 0X5A 0X02 0X02 0X01 0X03
Revision |
Content |
In Charge |
Date |
1.1 |
新建 |
梁伟源 |
2019.4.9 |
1.2 |
修改波特率为115200 |
陈家茂 |
2019.5.8 |