diff --git a/蓝牙秤/B11aap通信协议v0.1.docx b/蓝牙秤/B11aap通信协议v0.1.docx new file mode 100644 index 0000000..9f70ce4 --- /dev/null +++ b/蓝牙秤/B11aap通信协议v0.1.docx @@ -0,0 +1,348 @@ + + 威盛康-串口协议 + REV1.0 + + + + + + + + + + + + + + + + + + + + + 通讯地址:深圳市宝安区航城大道骏翔U8智造产业园U4栋6楼607 + 邮政编码:518067 + 公司电话:0755-82536060 + 公司网站:wiseda-chip.com + 版本历史 + 历史版本 + 修改内容 + 版本日期 +REV1.0 +初始版本 +2024-06-26 + + + + + + + + + + + + + + + + + + 目录 +1. 概述 1 +2. UART配置 1 +3. 数据帧 1 +4. 通信协议 2 +4.1 Mcu状态(0x01) 2 +4.2 APP切换Mcu的单位(0x02) 2 +Mcu回复APP: 3 +4.3 APP切换Mcu视角(0x03) 3 +Mcu回复APP: 3 +4.4 APP发送锁定(0x04) 4 +4.5 APP发送去皮(0x05) 4 +4.6 APP锁定模式(0x06) 4 +Mcu回复APP: 4 +4.7 Mcu回复APP上发体重测量(0x07) 5 + + + 1. 概述 + 本文主要APP和MCU之间的通信协议,通信使用UART接口。 + 2. UART配置 + 1) 波特率(bps):9600 + 2) 数据位:8 + 3) 奇偶校验:无 + 4) 停止位:1 + 5) 数据流控:无 + 1. 数据帧 + 包头 + 长度 + 命令 + 数据 + 校验和 + 包尾 +1Byte +1Byte +1Byte +N Byte +1Byte +1Byte + 1) 包头:1个字节,固定发送0xA6 + 2) 长度:1个字节,命令+数据 + 3) 命令:1个字节,功能码 + 4) 数据:大于1个字节的数据先发高字节,再发低字节,例如:数据0x55AA,应先发送0x55,然后接着发送0Xaa,数据可以为0字节 + 5) 校验码:1个字节,长度+命令+数据的和,取低位1byte + 6) 数据帧不能分包发送 + + + 2. 通信协议 + 通信协议约定说明APP与MCU直接的功能码和响应回复说明. + 2.1 Mcu状态(0x01) + APP状态改变时,APP会主动发送通知Mcu,Mcu也可以随时查询APP状态,APP主动下发状态mcu不需要回复。 + APP主动查询mcu状态:status + 包头 + 长度 + 命令 + 校验码 + 包尾 + 0xA6 + 0x01 + 0x01 + 0x02 + 0x6A + MCU 回复 status + 包头 + 长度 + 命令 + 数据 + 数据 + 校验码 + 包尾 + 0xA6 + 0x03 + 0X01 +Bit7~4:重量数据精度 +0000:0 位小数 +0001:1 位小数 +0010:2 位小数 +0011:3 位小数 +Bit3~0:当前单位: +0000:kg +0001:斤 +0010:st:lb +0011:lb +0100:G + +Bit7:锁定状态 +Bit7:0未锁定 +Bit7:1已锁定 +Bit6~4:称的状态 +000 :称已回零 +001 :正在称重 +010 :正在找零 +Bit3~0:视角方向 +0000:正视角 +0001:反视角 + 长度+命令+数据取低位1byte + 0X6A + 2.2 APP切换Mcu的单位(0x02) +APP切换mcu支持单位: + 包头 + 长度 + 命令 + 数据 + 校验 + 包尾 + 0xA6 + 0x02 + 0x02 +0x00:kg +0x01:斤 +0x02:st:lb +0x03:lb +0x04:G + + 长度+命令+数据取低位1byte + 0x6A + Mcu回复APP: + 包头 + 长度 + 命令 + 数据 + 校验码 + 包尾 + 0xA6 + 0x02 + 0X02 + 0x00:成功 + 0x01:失败 + 0x02:不支持 + + 长度+命令+数据取低位1byte + 0x6A + + 1.1 APP切换Mcu视角(0x03) + 包头 + 长度 + 命令 + 数据 + 校验码 + 包尾 + 0xA6 + 0x02 + 0X03 + 0x00:正视角 + 0x01:反视角 + 长度+命令+数据取低位1byte + 0x6A + + Mcu回复APP: + 包头 + 长度 + 命令 + 数据 + 校验码 + 包尾 + 0xA6 + 0x02 + 0X03 + 0x00:成功 + 0x01:失败 + 0x02:不支持 + + 长度+命令+数据取低位1byte + 0x6A + + 3.1 APP发送锁定(0x04) + 包头 + 长度 + 命令 + 数据 + 校验码 + 包尾 + 0xA6 + 0x02 + 0X04 + 0X00:锁定 + 0X01: 解锁 + 长度+命令+数据取低位1byte + 0x6A + 3.2 APP发送去皮(0x05) + 包头 + 长度 + 命令 + 数据 + 校验码 + 包尾 + 0xA6 + 0x02 + 0X05 + 0X00:去皮 + 长度+命令+数据取低位1byte + 0x6A + + 4.1 APP锁定模式(0x06) + 包头 + 长度 + 命令 + 数据 + 校验码 + 包尾 + 0xA6 + 0x02 + 0X06 + 0x00:手动锁定 + 0x01:自动锁定 + 长度+命令+数据取低位1byte + 0x6A + + Mcu回复APP: + 包头 + 长度 + 命令 + 数据 + 校验码 + 包尾 + 0xA6 + 0x02 + 0X06 + 0x00:成功 + 0x01:失败 + 0x02:不支持 + + 长度+命令+数据取低位1byte + 0x6A + + 5.1 Mcu回复APP上发体重测量(0x07) + 序号 + 数据 + 字节数 + 说明 + 0 + 0xA6 + 1 + 包头 + 1 + 0x08 + 1 + 长度 + 2 + 0x07 + 1 + 命令 + 3 +Type:测量状态 +01:实时体重 +02:稳定体重 +Type:重量状态 +0x8-:负重量 +0x0-:正重量 + + + 1 + 数据 + 4 +重量数据高字节 + 1 + 数据 + 5 +重量数据中字节 + 1 + 数据 + 6 +重量数据低字节 + 1 + 数据 + 7 +阻抗高字节 + 1 + 数据 + 8 +阻抗低字节 + 1 + 数据 + 9 +Bit7~4:重量数据精度 +0000:0 位小数 +0001:1 位小数 +0010:2 位小数 +0011:3 位小数 +Bit3~0:当前单位: +0000:kg +0001:斤 +0010:st:lb +0011:lb +0100:G + + 1 + 数据 + 10 +1~9 + 1 + 校验和 + 11 +0x6A + + 包尾 + +