Android 串口协议

2024-01-03 00:32:58

前言

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


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

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

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

?

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

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 字段的其他所有部分

文章来源:https://blog.csdn.net/qq_33552379/article/details/135200415
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。