3.4 KiB
数据包格式
基础
含义 | 数据 |
---|---|
发送包头 | 0x00 |
发送包尾 | 0xff |
返回包头 | 0x01 |
返回包尾 | 0xfe |
数据包头
+ 包体长度
+ 指令
+ 数据包体
+ 数据包尾
如:
00 06 20 AA BB FF
信息查询
查询蓝牙连接状态 0x10
查询示例 00 04 10 FF
返回数据 | 含义 |
---|---|
01 | 已连接 |
00 | 未连接 |
返回示例 01 05 10 01 FE
查询 SPI Flash 挂载状态 0x11
查询示例 00 04 11 FF
返回数据 | 含义 |
---|---|
01 | 已挂载 |
00 | 未挂载 |
返回示例 01 05 11 01 FE
查询超声波距离 0x12
查询示例 00 04 12 FF
返回一个 4 字节浮点数,表示距离,单位 m
返回示例 01 08 12 距离3 距离2 距离1 距离0 FE
控制
行进控制 0x20
方向数据 | 含义 |
---|---|
0x00 | 停止 |
0x01 | 前进 |
0x02 | 后退 |
包体 00 06 20 方向 速度 FF
控制示例 00 06 20 01 FF FF
方向控制 0x21
方向数据 | 含义 |
---|---|
0x00 | 左转 |
0x01 | 右转 |
包体 00 06 21 方向 差速 FF
控制示例 00 06 21 01 01 FF
单轮控制 0x22
轮数据 | 含义 |
---|---|
0x00 | 左前轮 |
0x01 | 左后轮 |
0x02 | 右后轮 |
0x03 | 右前轮 |
方向数据 | 含义 |
---|---|
0x00 | 停止 |
0x01 | 顺时针 |
0x02 | 逆时针 |
包体 00 07 22 轮 方向 速度 FF
控制示例 00 07 22 01 01 01 FF
原地控制 0x23
方向数据 | 含义 |
---|---|
0x00 | 顺时针 |
0x01 | 逆时针 |
包体 00 06 23 方向 时间 FF
控制示例 00 06 23 01 01 FF
XYR 控制 0x24
⚠️ 注意: X Y R 的取值范围为 -100 到 100,为有符号 8 位整数
数据 | 正数 | 负数 |
---|---|---|
X | 左 | 右 |
Y | 前 | 后 |
R | 逆时针 | 顺时针 |
包体 00 07 24 X Y R FF
控制示例 00 07 24 01 01 01 FF
模式切换 0x30
模式数据 | 含义 |
---|---|
0x00 | 手动模式 |
0x01 | 巡线模式 |
包体 00 05 30 模式 FF
控制示例 00 05 30 01 FE
设置
设置设备名称 0xA1
⚠️ 注意: 设备名称长度不能超过 16 个字符,此时最大包体长度 20,仅支持 ASCII 码
包体 00 包体长度 A1 设备名称 FF
示例:WhiteTiger
设置示例 00 0E A1 57 68 69 74 65 54 69 67 65 72 FF
设置 PID 参数 0xA2
⚠️ 注意: Kp Ki Kd 类型为 float,每个参数 4 个字节
包体 00 07 A2 Kp1 Kp2 Kp3 Kp4 Ki1 Ki2 Ki3 Ki4 Kd1 Kd2 Kd3 Kd4 FF
设置示例 00 11 A2 01 01 01 01 01 01 01 01 01 01 01 01 01 FF
状态回报
设备状态回报 0xE0
包体 01 0F E0 运行模式 电机A_IN_1_2 电机A_PWM 电机B_IN_1_2 电机B_PWM 电机C_IN_1_2 电机C_PWM 电机D_IN_1_2 电机D_PWM 红外引脚数量 红外数据 FE
数据 | 类型 | 表示 |
---|---|---|
运行模式 | 无符号整数 | 0x00 手动模式,0x01 巡线模式 |
IN_1_2 | 无符号整数 | 按位表示 IN1 IN2 的值, 0000 00 IN2 IN1 |
PWM | 无符号整数 | - |
红外引脚数量 | 无符号整数 | - |
红外数据 | 无符号整数 | 按位表示红外循迹模块数据, 0001 1111 |
示例 01 0F E0 00 01 FF 02 FF 02 FF 01 FF 05 1F FE