generated from hulk/gd32e23x_template_cmake_vscode
3.4 KiB
3.4 KiB
电涡流传感器模块通信协议
电涡流传感器模块通信协议
| 序号 | 修改内容 | 版本 | 日期 | 修改人 |
|---|---|---|---|---|
| 1 | 初版 | V1.0 | 2024-12-25 | Hulk |
| 2 | 修改指令含义 | V1.1 | 20250822 | Hulk |
发包格式
| 包头 | 类型 | 数据长度 | 数据 | 校验 |
|---|---|---|---|---|
| D5 | 0x03 | Data Length | Data | CRC |
- 数据长度只包含数据部分,不包含包头、类型、数据长度、校验
- CRC求和校验,包含类型、数据长度、数据
- 数据部分为ascii码
回包格式
| 包头 | 状态码 | 数据长度 | 数据 | 校验 |
|---|---|---|---|---|
| B5 | 0xF0 正常包 | Data Length | Data | CRC |
| B5 | 0xF1 CRC错误 | Data Length | Data | CRC |
| B5 | 0xF2 包头错误 | Data Length | Data | CRC |
| B5 | 0xF3 类型错误 | Data Length | Data | CRC |
| B5 | 0xF4 包长度错误 | Data Length | Data | CRC |
- 数据长度仅包含数据部分,不包含包头状态码等
- CRC求和校验,包含状态码数据长度和数据部分
电涡流传感器模块功能
1. 开启自动读取并发送电涡流传感器模块数据
- M1指令 开启自动读取并发送涡流传感器数据,间隔10ms左右
D5 03 02 4D 31 83
- 电涡流传感器模块涡流回复数据
B5 F0 04 01 AE 1B E4 A2, 有效数据为0x01AE1BE4,转换为28187620B5 F0 04 04 19 C1 FA CC, 有效数据为0x0419C1FAD2,转换为17612012242
2. 关闭自动读取并发送电涡流传感器模块数据
- M2 指令 关闭自动读取并发送涡流传感器数据
D5 03 02 4D 32 84
注:因为485总线为半双工,M1命令开启后持续自动发送数据,M2指令发送停止命令可能无法一次成功,可持续发送几次
3. 单次读取并发送电涡流传感器数据
- M3 指令 单次读取并发送涡流传感器数据
D5 03 02 4D 33 85
4. 单次读取并发送板载温度传感器数据
- M4 指令 单次读取并发送板载温度传感器数据(TMP112,返回温度值×10000,4 字节有符号大端)
D5 03 02 4D 34 86- 示例回复:
B5 F0 04 00 04 28 74 94,有效数据0x00042874= 272500,即27.25°C
5. 单次读取并发送温度补偿后的涡流传感器数据
- M5 指令 单次读取并发送温度补偿后的涡流传感器数据(补偿系数默认为 0,与 M3 等价)
D5 03 02 4D 35 87
6. 单次读取并发送标定数据(涡流原始值 + 温度值)
- M6 指令 单次读取涡流原始值和板载温度值,用于温度标定
D5 03 02 4D 36 88- 回复 9 字节:涡流原始值(4字节大端) + 0xFF + 温度值×10000(4字节大端)
- 示例回复:
B5 F0 09 01 AD BA DC FF 00 04 28 74 DC
7. 查询固件版本号
- M999 指令 返回固件版本号字符串,如
v23.1.0.1(板卡类型.主版本.次版本.修订号)D5 03 04 4D 39 39 39 FF
8. 复位 MCU
- M9999 指令 立即复位 MCU(无回复)
D5 03 05 4D 39 39 39 39 39