• 串口通信协议基本样式


    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

  • 相关阅读:
    Registering an Application to a URI Scheme
    Promise相关网址
    设置table的td宽度,不随文字变宽
    Promise实现原理
    【转】编写高质量代码改善C#程序的157个建议——建议117:使用SSL确保通信中的数据安全
    【转】编写高质量代码改善C#程序的157个建议——建议116:避免用非对称算法加密文件
    【转】编写高质量代码改善C#程序的157个建议——建议115:通过HASH来验证文件是否被篡改
    【转】编写高质量代码改善C#程序的157个建议——建议114:MD5不再安全
    【转】编写高质量代码改善C#程序的157个建议——建议113:声明变量前考虑最大值
    【转】编写高质量代码改善C#程序的157个建议——建议112:将现实世界中的对象抽象为类,将可复用对象圈起来就是命名空间
  • 原文地址:https://www.cnblogs.com/zjx123/p/12878002.html
Copyright © 2020-2023  润新知