Android 串口协议

前言

本协议是 Android 应用端与主控板之间的通信协议,是串行通信协议。
协议要求同一时间只能有两个通讯端点在相互通讯,采用小端传输数据。


硬件层基于RS485协议,采取半双工,一主多从的通讯模式。Android定义为主机,主控板定义为从机,

其中一端发送数据,另一端接受到发送数据端的数据包后作出应答,发送对应的回应数据

请求命令数据包与应答数据包必须是成对出现,每个应答对应一个请求。
主机(Master)(Android 我的项目 ):
发送数据的通讯端点为主机(Master)(Android),  Master 发出的数据包被称为请求命令数据包。
从机(Slaver)(主控板定义为 0x55        下面链接很多第三方设备 ):
而接受数据再发出回应数据包的通讯端点为从机(Slaver)(主控板) ,Slaver 发出的数据包被称为应答数据包
串口号   /dev/ttyS6
波特率  115200
数据位   8
校验位  None
停止位  1
流控     None

Android 串口协议_第1张图片

 

 数据包结构纵览:
每个数据包规范符合如下格式定义:

FLAG:数据包标志,标准帧为 0x10;

DataLen:是数据长度为=CMD1+CMD2+DATA;

CMD1:数据包主命令,主控板定义为 0x55;

CMD2:数据包的辅助命令;

CMD2 取值
描述
格式解析对应
备注
0x02 时间校准 4.1 定时开关机:需要使用指令 4.1、4.2、4.3 进行配合。先进行时间校准,在查询时间校准是否成功,最后下发关机以及定时开机指令
0x03 时间查询(校准机器人的时间) 4.2
0xA0 关机以及定时开机设置 4.3
0x45 电池信息  4.4 电池信息:使用 4.4 指令进行电池数据查询。
0x41 舵机位置控制 4.5 舵机控制:使用 4.5 的两种指令进行舵机控制。
0x42 舵机位置和速度控制 4.5
0x43 舵机数据查询 4.6 使用 4.6 的指令进行舵机数据查询。

CHKSUM : 是 校 验 .CHKSUM = 0 xor Packet[0] xor Packet[1] xor …xor Packet[N]

Packet[N]表示即将发送的当前数据包的第 N 个字节去除 CHKSUM 字段的其他所有部分

你可能感兴趣的:(android,网络)