parent
6277427dd0
commit
fbad78a5e1
|
|
@ -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
|
||||||
|
|
||||||
|
包尾
|
||||||
|
|
||||||
|
|
||||||
Loading…
Reference in New Issue