zoukankan      html  css  js  c++  java
  • VX300 协议解析

    包结构索引

    1.包头

       字节1

      包头字节始终为255。标头字节仅表示新数据包的开始。

    2.长度

       字节2

      通常的做法是发送一个字节告知数据包长度,以便接收代码知道数据包中预期有多少个字节。 在我们的情况下,数据包始终为13个字节长,因此该字节始终为13个字节。

    3.指令类型

      字节3
      指令类型字节是您要发送到固件的命令的主要标识符。 请参阅“命令索引”部分以查看指令类型的列表。
      了解命令的三种类型
      您会注意到每个命令最多可以有3个版本。 例如,命令40可以作为40、41或42发送。

      将其视为在单个字节中发送两条信息可能是最简单的。
      命令IE:0/10/20/40/50/80
      带有命令IE的R / W请求:0/1/2
      每个命令具有三种不同类型的读/写0 =写无回波包1 =用回波包写2 =已读
      例如,如果您要调用命令40,则它可能是以下版本之一:40 =写无回波包41 =使用回波包写42 =已读

      回音包
      当请求回送数据包时,固件将执行写命令,然后返回串行数据包。串行数据包将与接收到的数据包相同,因此称为名称。回声包。

      使用回音包的原因主要有两个:确认已接收并写入数据在代码中充当时序控件。通常,在第一个命令完成之前,您不希望下一部分代码执行。因此,在继续进行下一部分代码之前,您需要等待回显被返回。

      请注意,并非每个命令都具有所有三个R / W选项。某些命令仅允许读取,而某些命令则没有0或无回声的选项。

    4.指令子类型

       字节4

      指令子类型字节用于命令子类型。例如,对于用于设置模型变量的指令类型40,有以下子类型指令:

    实例类型40子类型示例
    1 设置机器人模型
    10 读/写一个模型变量 
    20 配置一个模型关节 
    21  读/写一个关节的最大值/最小值
    22  读/写一个抓手的最大值/最小值 

    5.指令细节1/2/3/4

       字节5 /字节6 /字节7 /字节8

      这些字节用于发送命令所需的详细信息。 它们可能是寄存器地址,伺服ID,联合ID或其他信息。

    6.数据字节1/2/3/4

       字节9 /字节10 /字节11 /字节12

      数据字节用于发送有符号整数。 由于一个字节只能保存0〜255个有符号整数之间的值,因此分成4个字节。

    7.校验和

      字节13

      校验和用于检查串行数据包是否已成功完整发送,以及所有数据是否正确。

      请注意:包头不包含在校验和中校验和的
      计算公式如下:

      校验和=(长度+指令类型+指令使用+指令详细信息1 +指令详细信息2 +指令详细信息3 +指令详细信息4 +数据字节1 +数据字节2 +数据字节3 +数据字节4)%256

    示例

    读写所有舵机寄存器

    Header Length  Instruction Type  Value Range Servo Count Register Address Low Byte Register Address High Byte  Value Range
    255 13 30          
    Data Integer(1)   Data Integer(2) Data Integer(3)   Data Integer(4) CheckSum
             

     读取关节的2D点/重心

    Header Length  Instruction Type  Value Range Servo Count Register Address Low Byte Register Address High Byte  Value Range
    255 13 82  40        
    Data Integer(1)   Data Integer(2) Data Integer(3)   Data Integer(4) CheckSum
     X position low byte  X position high byte  Y position low byte  Y position high byte  

  • 相关阅读:
    解决首次访问jenkins,输入初始化默认密码之后,一直卡住问题,无法进行jenkins工具安装
    tomcat下安装jenkins
    主机无法访问虚拟机Linux的apache
    Centos 6.5 yum 安装Apache软件
    Linux如何用yum安装软件或服务
    linux yum安装httpd后,启动service httpd start 报错解决方案
    Thrift白皮书阅读笔记
    利用thrift在c++、java和python之间相互调用
    [原]Windows下openssl的下载安装和使用
    Windows 下openssl安装与配置
  • 原文地址:https://www.cnblogs.com/kay2018/p/12496498.html
Copyright © 2011-2022 走看看