Android 串口协议
2024-01-03 00:32:58
前言
本协议是
Android
应用端与主控板之间的通信协议,是串行通信协议。
协议要求同一时间只能有两个通讯端点在相互通讯,采用小端传输数据。
硬件层基于RS485协议,采取半双工,一主多从的通讯模式。Android定义为主机,主控板定义为从机,
其中一端发送数据,另一端接受到发送数据端的数据包后作出应答,发送对应的回应数据
请求命令数据包与应答数据包必须是成对出现,每个应答对应一个请求。
主机(Master)(Android 我的项目 ):
发送数据的通讯端点为主机(Master)(Android),? Master 发出的数据包被称为请求命令数据包。
发送数据的通讯端点为主机(Master)(Android),? Master 发出的数据包被称为请求命令数据包。
从机(Slaver)(主控板定义为 0x55? ?
? ? 下面链接很多第三方设备 ):
而接受数据再发出回应数据包的通讯端点为从机(Slaver)(主控板) ,Slaver 发出的数据包被称为应答数据包
而接受数据再发出回应数据包的通讯端点为从机(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
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。 如若内容造成侵权/违法违规/事实不符,请联系我的编程经验分享网邮箱:veading@qq.com进行投诉反馈,一经查实,立即删除!