zoukankan      html  css  js  c++  java
  • 串口通信协议基本样式

    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

  • 相关阅读:
    怎样用c/c++编程连接mysql数据库?
    c#中转义符总结
    制作文件系统出错运行mkubimagemlc2
    面试中常考的C函数库中的字符串处理函数
    移动支付模式再添新军:指纹支付
    面试中常考的单链表处理
    选购冰箱勿被概念迷惑:并非功能越多越好
    地址转换
    JavaScriptGarden/
    配置非安装版的mysql 5.5
  • 原文地址:https://www.cnblogs.com/zjx123/p/12878002.html
Copyright © 2011-2022 走看看