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 |