st_ble protocol.md 4.0 KB

1.ST与蓝牙间通信数据格式

最大包长为32字节 | 字节序号 | 数据类型 | 含义 | 备注 | | ---- | ---------- | ------------ | -------------------------------------- | | 0 | uint8_t | 数据标识符 | 固定为0xF1 | | 1 | uint8_t | 数据标识符 | 固定为0xF1 | | 2 | uint8_t | 包长度 |从包长度字节开始直到帧尾中间所有字节数 | | 3 | uint8_t | 指令ID | 表示当前指令功能,详见下放指令ID对照表 | | 4 | uint8_t[n] | 数据内容 | 详见下方数据内容格式 | | 4+n | uint16_t | 校验码 | 使用crc16计算校验值,从包长度开始计算直到校验码前字节|

指令ID对照表:

指令ID 指令功能 备注
0x01 获取版本号 数据内容为版本号,1字节
0x02 配置蓝牙mac地址和广播名称 数据内容为mac地址长度+mac地址+广播名称长度+广播名称
0x03 透传APP数据,具体APP数据格式详见下方APP与蓝牙间通信协议
0x04 蓝牙连接事件
0x05 蓝牙断开连接事件

例如:F1F1040108303D

数据标识符 数据标识符 包长度 指令ID 数据内容 校验码
0xF1 0xF1 0x04 0x01 0x08 0x303D

数据内容格式(APP与蓝牙间通信协议)

2.1 查询can数据

字节序号 数据类型 功能 备注
1 uint8_t 指令类型 0x51
2 uint8_t 数据包序号 从0到125循环递增,不包括125
3 uint8_t 数据帧类型 标准帧(00),扩展帧(04)
4 uint32_t 数据帧ID
8 uint8_t 数据内容长度
9 uint8_t[n] 数据内容 最大为8字节
9+n uint16_t 校验码 使用crc16计算校验值,从指令类型开始计算直到校验码前字节。是否使用待定

2.2 查询can数据回复

字节序号 数据类型 功能 备注
1 uint8_t 指令类型 0x52
2 uint8_t 数据包序号 从0到125循环递增,不包括125,起始值与主机下发的相对应
3 uint8_t 数据帧类型 标准帧(00),扩展帧(04)
4 uint32_t 数据帧ID
8 uint8_t 数据内容长度
9 uint8_t[n] 数据内容 最大为8字节
9+n uint16_t 校验码 使用crc16计算校验值,从指令类型开始计算直到校验码前字节。是否使用待定