0x8C   | 检测测试使用的指令
LC
0x3C   | 发送一百字节测试丢包率功能
This commit is contained in:
2025-08-26 17:35:27 +08:00
parent 97b2d69cee
commit 66de07c1f4

View File

@ -133,6 +133,7 @@ HEX: 5A 01 FF 40 00 64 00 00 00 93 9E FF 3F 93 9E FF 3F 93 9E FF 3F 7F 4B 00 00
| ------ | ------------------------ | -------------- | -------------- | ---------------------------------------------------- | | ------ | ------------------------ | -------------- | -------------- | ---------------------------------------------------- |
| 0x80 | 一个表示正常的编码 | 0 | \\ | 直接被头戴设备丢弃 | | 0x80 | 一个表示正常的编码 | 0 | \\ | 直接被头戴设备丢弃 |
| 0x81 | 接收的信息出错 | 1 | uint8_t | 提示接收出现问题,不一定被处理 | | 0x81 | 接收的信息出错 | 1 | uint8_t | 提示接收出现问题,不一定被处理 |
| 0x8C | 检测测试使用的指令 | 1 | uint8_t | 手册要求的一些指标的测试指令,如丢包率等测试 |
| 0x8D | 控制MCU软重启 | 0 | \\ | 控制MCU软重启 | | 0x8D | 控制MCU软重启 | 0 | \\ | 控制MCU软重启 |
| 0x8E | 调试 | 0 | \\ | 仅用于开发调试 | | 0x8E | 调试 | 0 | \\ | 仅用于开发调试 |
| 0x8F | 将MCU恢复出厂设置 | 0 | \\ | 此操作会清除 如心率拟合系数、保存的设备ID等 所有信息 | | 0x8F | 将MCU恢复出厂设置 | 0 | \\ | 此操作会清除 如心率拟合系数、保存的设备ID等 所有信息 |
@ -141,7 +142,7 @@ HEX: 5A 01 FF 40 00 64 00 00 00 93 9E FF 3F 93 9E FF 3F 93 9E FF 3F 7F 4B 00 00
| 0x98 | 控制开启下位机功能 | 1 | uint16_t | 开启 FFT LPF HPF NOTCH 等功能 | | 0x98 | 控制开启下位机功能 | 1 | uint16_t | 开启 FFT LPF HPF NOTCH 等功能 |
| 0x99 | 控制关闭下位机功能 | 1 | uint16_t | 关闭 FFT LPF HPF NOTCH 等功能 | | 0x99 | 控制关闭下位机功能 | 1 | uint16_t | 关闭 FFT LPF HPF NOTCH 等功能 |
| 0x9A | 控制下位机灯光常量或闪烁 | 3 | uint8_t | 控制LED灯可用于寻找设备 | | 0x9A | 控制下位机灯光常量或闪烁 | 3 | uint8_t | 控制LED灯可用于寻找设备 |
| 0x9B | 控制播放音频与音量 | 2 | uint8_t | | | 0x9B | 控制播放音频与音量 | 2 | uint8_t | 控制播放音频或调整音量 |
| 0x9C | 修改下位机心率拟合系数 | 9 | int32_t | 微调心率计算结果 | | 0x9C | 修改下位机心率拟合系数 | 9 | int32_t | 微调心率计算结果 |
| 0x9D | 告知治疗阶段与疾病类型 | 2 | uint8_t | 告知治疗阶段与疾病类型 | | 0x9D | 告知治疗阶段与疾病类型 | 2 | uint8_t | 告知治疗阶段与疾病类型 |
@ -149,7 +150,7 @@ HEX: 5A 01 FF 40 00 64 00 00 00 93 9E FF 3F 93 9E FF 3F 93 9E FF 3F 7F 4B 00 00
#### 5.2. 0x80 一个表示正常的编码 #### 5.2. 0x80 一个表示正常的编码
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 00 00 80 00 00 00 00 00 crc16_L crc16_H A5 HEX: 5A 00 00 80 00 00 00 00 00 crc16_L crc16_H A5
@ -164,7 +165,7 @@ HEX: 5A 00 00 80 00 00 00 00 00 crc16_L crc16_H A5
#### 5.2. 0x81 一个表示异常的编码 #### 5.2. 0x81 一个表示异常的编码
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 00 00 81 00 01 00 00 00 data1 crc16_L crc16_H A5 HEX: 5A 00 00 81 00 01 00 00 00 data1 crc16_L crc16_H A5
@ -181,9 +182,31 @@ HEX: 5A 00 00 81 00 01 00 00 00 data1 crc16_L crc16_H A5
| data1 | 表示异常类型 | uint8_t | 0x02 | 数值异常(检测出上传的参数超过阈值等) | | data1 | 表示异常类型 | uint8_t | 0x02 | 数值异常(检测出上传的参数超过阈值等) |
| crc16 | crc16校验值 | uint16_t | | | | crc16 | crc16校验值 | uint16_t | | |
#### 5.2.0x8C.检测测试使用的指令
描述:
手册要求的一些指标的测试指令,如丢包率等测试
数据帧结构示意:
``` HEX
HEX: 5A 00 00 8C 00 01 00 00 00 data1 crc16_L crc16_H A5
```
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
| -------- | ------------------ | -------- | ------ | ----------------------------------------------------------- |
| data1 | 需要测试的功能编号 | uint8_t | 0 | 暂未定义 |
| | | | 1 | 测试丢包率下位机将回应100字节的数据包(0x3C功能码)进行测试 |
| crc16 | crc16校验值 | uint16_t | \ | \ |
示例:
* 测试丢包率
`HEX: 5A 00 00 8C 00 01 00 00 00 01 AE E2 A5`
#### 5.2. 0x8D 控制MCU软重启 #### 5.2. 0x8D 控制MCU软重启
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 00 00 8D 00 00 00 00 00 8E 96 A5 HEX: 5A 00 00 8D 00 00 00 00 00 8E 96 A5
@ -193,7 +216,7 @@ HEX: 5A 00 00 8D 00 00 00 00 00 8E 96 A5
#### 5.2. 0x8E 调试 #### 5.2. 0x8E 调试
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 00 00 8E 00 00 00 00 00 BD 96 A5 HEX: 5A 00 00 8E 00 00 00 00 00 BD 96 A5
@ -203,7 +226,7 @@ HEX: 5A 00 00 8E 00 00 00 00 00 BD 96 A5
#### 5.2. 0x8F 将MCU恢复出厂设置 #### 5.2. 0x8F 将MCU恢复出厂设置
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 00 00 8F 00 00 00 00 00 6C 97 A5 HEX: 5A 00 00 8F 00 00 00 00 00 6C 97 A5
@ -214,7 +237,7 @@ HEX: 5A 00 00 8F 00 00 00 00 00 6C 97 A5
#### 5.2. 0x90 启动配对流程 #### 5.2. 0x90 启动配对流程
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 00 00 90 00 00 00 00 00 03 95 A5 HEX: 5A 00 00 90 00 00 00 00 00 03 95 A5
@ -224,7 +247,7 @@ HEX: 5A 00 00 90 00 00 00 00 00 03 95 A5
#### 5.2. 0x91 告知设备ID #### 5.2. 0x91 告知设备ID
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 00 00 91 00 01 00 00 00 data1 crc16_L crc16_H A5 HEX: 5A 00 00 91 00 01 00 00 00 data1 crc16_L crc16_H A5
@ -240,7 +263,7 @@ PS `HEX: 5A 00 00 91 00 01 00 00 00 01 AF 2F A5`
#### 5.2. 0x98 控制开启下位机功能 #### 5.2. 0x98 控制开启下位机功能
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 00 00 98 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5 HEX: 5A 00 00 98 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5
@ -267,7 +290,7 @@ HEX: 5A 00 00 98 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5
#### 5.2. 0x99 控制关闭下位机功能 #### 5.2. 0x99 控制关闭下位机功能
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 00 00 99 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5 HEX: 5A 00 00 99 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5
@ -280,7 +303,7 @@ HEX: 5A 00 00 99 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5
#### 5.2. 0x9A 控制下位机灯光常量或闪烁 #### 5.2. 0x9A 控制下位机灯光常量或闪烁
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 00 00 9A 00 03 00 00 00 color keeptime gap crc16_L crc16_H A5 HEX: 5A 00 00 9A 00 03 00 00 00 color keeptime gap crc16_L crc16_H A5
@ -327,25 +350,25 @@ LED闪烁时LED灯固定亮1s
4. * 设置蓝灯闪烁20s 闪烁间隔为2s 4. * 设置蓝灯闪烁20s 闪烁间隔为2s
`HEX: 5A 00 00 9A 00 03 00 00 00 01 14 02 7D 82 A5` `HEX: 5A 00 00 9A 00 03 00 00 00 01 14 02 7D 82 A5`
#### 5.2. 0x9B 控制播放音频 #### 5.2.0x9B.控制播放音频
数据帧示例: ##### 5.2.0x9B.数据帧结构
``` HEX ``` HEX
HEX: 5A 00 00 9B 00 02 00 00 00 audio_id volume crc16_L crc16_H A5 HEX: 5A 00 00 9B 00 02 00 00 00 audio_id volume crc16_L crc16_H A5
``` ```
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 | | 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
| -------- | -------------- | -------- | --------- | -------------------------- | | -------- | -------------- | -------- | --------- | ---------------------------------------------------- |
| audio_id | 播放音频的编号 | uint8_t | 0x00~0xFE | 对应的音频编号 | | audio_id | 播放音频的编号 | uint8_t | 0x00~0xFE | 对应的音频编号 参考`5.2.0x9D.治疗阶段/语音播报 编号表` |
| audio_id | 播放音频的编号 | uint8_t | 0xFF | 不播放音频仅设置音量 | | audio_id | 播放音频的编号 | uint8_t | 0xFF | 不播放音频仅设置音量 |
| volume | 设置音量 | uint8_t | 0x00~0x0F | 音量大小 0x00最小 0x0F最大 | | volume | 设置音量 | uint8_t | 0x00~0x0F | 音量大小 0x00最小 0x0F最大 |
| volume | 设置音量 | uint8_t | 0xFF | 不设置音量仅播放音频 | | volume | 设置音量 | uint8_t | 0xFF | 不设置音量仅播放音频 |
| crc16 | crc16校验值 | uint16_t | xx | \\ | | crc16 | crc16校验值 | uint16_t | xx | \\ |
#### 5.2. 0x9C 微调心率计算结果 #### 5.2. 0x9C 微调心率计算结果
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 00 00 9C 00 24 00 00 00 data1_LL data1_LH data1_HL data1_HH (data2_ * 4) (data3_ * 4) ... (data9_ * 4) crc16_L crc16_H A5 HEX: 5A 00 00 9C 00 24 00 00 00 data1_LL data1_LH data1_HL data1_HH (data2_ * 4) (data3_ * 4) ... (data9_ * 4) crc16_L crc16_H A5
@ -458,9 +481,12 @@ flowchart TD
L --> M[矫正结束] L --> M[矫正结束]
``` ```
#### 5.2. 0x9D 告诉下位机当前治疗阶段与疾病类型 #### 5.2.0x9D.告诉下位机当前治疗阶段与疾病类型
数据帧示例 描述
下位机接收到此命令后,会触发对应编号的语音进行提示。
##### 5.2.0x9D.数据帧结构
``` HEX ``` HEX
HEX: 5A 00 00 9D 00 02 00 00 00 TreatmentPhase DiseaseTypes crc16_L crc16_H A5 HEX: 5A 00 00 9D 00 02 00 00 00 TreatmentPhase DiseaseTypes crc16_L crc16_H A5
@ -475,9 +501,38 @@ HEX: 5A 00 00 9D 00 02 00 00 00 TreatmentPhase DiseaseTypes crc16_L crc16_H A5
| DiseaseTypes | 疾病类型编号 | uint8_t | 0x01~0xFE | 疾病类型编号 | | DiseaseTypes | 疾病类型编号 | uint8_t | 0x01~0xFE | 疾病类型编号 |
| crc16 | crc16校验值 | uint16_t | xx | \\ | | crc16 | crc16校验值 | uint16_t | xx | \\ |
治疗阶段的编号 ##### 5.2.0x9D.治疗阶段/语音播报 编号
疾病类型编号 | | 编号 | | 语音 |
| ----------------------- | ---- | ------------------------------ | ---------------------------------------------------------- |
| 评估阶段 | 1 | 前基线评估 | 现在进行前基线评估,请放松身体,清空杂念,保持静坐 |
| | 2 | 后基线评估 | 现在进行后基线评估,请放松身体,清空杂念,保持静坐 |
| | 3 | 一般压力评估 | 现在进行一般压力评估,请注意大屏幕,保持静坐 |
| | 4 | 应激压力评估 | 现在进行应激压力评估,请注意大屏幕,保持静坐 |
| 治疗阶段 | 5 | 呼吸训练 | 现在进行呼吸训练,在呼吸时,尽量保持肩部、颈部、胸部放松哦 |
| | 6 | 松弛治疗 | 现在进行松弛治疗,请跟随指导语的提示进行放松 |
| | 7 | 暗示治疗 | 现在进行暗示治疗,请闭上双眼,继续跟随指导语的声音 |
| | 8 | 音乐治疗 | 现在进行音乐治疗,保持放松,倾听音乐的声音,倾听内心的声音 |
| 训练阶段 | 9 | 游戏 | 现在进入游戏训练环节 |
| | 10 | 音乐 | 现在进入音乐训练环节 |
| | 11 | 视频 | 现在进入视频训练环节 |
| | 12 | 团体合作+个人放松/专注(提示) | 调整到舒服的坐姿,放慢呼吸 |
| | 13 | 团队竞争(提示) | 要加油哦,调整呼吸,获得小组胜利 |
| 开始所有阶段之前 | 14 | 注意缺陷多动障碍 | 现在进行注意缺陷多动障碍治疗 |
| | 15 | 焦虑症 | 现在进行焦虑症治疗 |
| | 16 | 抑郁症 | 现在进行抑郁症治疗 |
| | 17 | 失眠症 | 现在进行失眠症治疗 |
| | 18 | 孤独症 | 现在进行孤独症治疗 |
| | 19 | 成瘾行为 | 现在进行成瘾行为治疗 |
| | 20 | 精神分裂症 | 现在进行精神分裂症康复期治疗 |
| 状态:治疗阶段/训练阶段 | 21 | 舒缓 | 做得很好,我们继续保持哦 |
| | 22 | 一般 | 状态不错,请继续保持 |
| | 23 | 焦虑 | 没关系,让我们慢慢调整哦,加油。 |
| | 24 | 检测到导联脱落 | 佩戴不正确,请调整 |
##### 5.2.0x9D.疾病类型编号
下位机暂无需要
## 六.头戴设备功能码表 ## 六.头戴设备功能码表
@ -496,10 +551,11 @@ HEX: 5A 00 00 9D 00 02 00 00 00 TreatmentPhase DiseaseTypes crc16_L crc16_H A5
#### 6.1. 0x20~0x3f: 与电脑端交互 #### 6.1. 0x20~0x3f: 与电脑端交互
| 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 | | 功能码 | 功能名称 | 数据段数据个数 | 每个数据的类型 | 备注 |
| ------ | ------------------------------- | -------------- | -------------- | ---------------- | | ------ | ------------------------------- | -------------- | -------------- | --------------------------------------------- |
| 0x20 | 发送MAC地址与IP地址申请设备ID | 10 | uint8_t | | | 0x20 | 发送MAC地址与IP地址申请设备ID | 10 | uint8_t | |
| 0x21 | 配对成功 | 0 | | 拿到设备ID后发送 | | 0x21 | 配对成功 | 0 | | 拿到设备ID后发送 |
| 0x3C | 发送一百字节测试丢包率功能 | 88 | uint8_t | 帧头+帧尾+88=100字节 内部数据为无意义的非零数 |
#### 6.1. 0x40~0x5f: 脑电数据的上传 #### 6.1. 0x40~0x5f: 脑电数据的上传
@ -527,7 +583,7 @@ HEX: 5A 00 00 9D 00 02 00 00 00 TreatmentPhase DiseaseTypes crc16_L crc16_H A5
#### 6.2. 0x00 设备工作状态 #### 6.2. 0x00 设备工作状态
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 01 ID 00 00 01 00 00 00 data1 crc16_L crc16_H A5 HEX: 5A 01 ID 00 00 01 00 00 00 data1 crc16_L crc16_H A5
@ -546,7 +602,7 @@ HEX: 5A 01 ID 00 00 01 00 00 00 data1 crc16_L crc16_H A5
#### 6.2. 0x01 设备WIFI信号强度 #### 6.2. 0x01 设备WIFI信号强度
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 01 ID 01 00 01 00 00 00 data1 crc16_L crc16_H A5 HEX: 5A 01 ID 01 00 01 00 00 00 data1 crc16_L crc16_H A5
@ -563,7 +619,7 @@ HEX: 5A 01 ID 01 00 01 00 00 00 data1 crc16_L crc16_H A5
#### 6.2. 0x02 设备电池电量 #### 6.2. 0x02 设备电池电量
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 01 ID 02 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5 HEX: 5A 01 ID 02 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5
@ -580,7 +636,7 @@ HEX: 5A 01 ID 02 00 02 00 00 00 data1_L data1_H crc16_L crc16_H A5
#### 6.2. 0x10 上传文字日志 #### 6.2. 0x10 上传文字日志
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 01 ID 10 00 N 00 00 00 char1 char2 ... charN crc16_L crc16_H A5 HEX: 5A 01 ID 10 00 N 00 00 00 char1 char2 ... charN crc16_L crc16_H A5
@ -597,7 +653,7 @@ HEX: 5A 01 ID 10 00 N 00 00 00 char1 char2 ... charN crc16_L crc16_H A5
#### 6.2. 0x20 发送MAC地址申请设备ID #### 6.2. 0x20 发送MAC地址申请设备ID
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 01 ID 20 00 0A 00 00 00 MAC_AA MAC_BB MAC_CC MAC_DD MAC_EE MAC_FF IP_AA IP_BB IP_CC IP_DD crc16_L crc16_H A5 HEX: 5A 01 ID 20 00 0A 00 00 00 MAC_AA MAC_BB MAC_CC MAC_DD MAC_EE MAC_FF IP_AA IP_BB IP_CC IP_DD crc16_L crc16_H A5
@ -615,7 +671,7 @@ HEX: 5A 01 ID 20 00 0A 00 00 00 MAC_AA MAC_BB MAC_CC MAC_DD MAC_EE MAC_FF IP_AA
#### 6.2. 0x21 配对成功 #### 6.2. 0x21 配对成功
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 01 ID 21 00 00 00 00 00 crc16_L crc16_H A5 HEX: 5A 01 ID 21 00 00 00 00 00 crc16_L crc16_H A5
@ -628,7 +684,31 @@ HEX: 5A 01 ID 21 00 00 00 00 00 crc16_L crc16_H A5
| ID | 设备ID | uint8_t | | | | ID | 设备ID | uint8_t | | |
| crc16 | crc16校验值 | uint16_t | | | | crc16 | crc16校验值 | uint16_t | | |
示例:`HEX: 5A 01 01 21 00 00 00 00 00 EE 5F A5` 示例:
`HEX: 5A 01 01 21 00 00 00 00 00 EE 5F A5`
#### 6.2.0x3C.发送一百字节测试丢包率功能
数据帧结构示意:
``` HEX
HEX: 5A 01 ID 3C 00 64 00 00 00 (uint8_t)*88 crc16_L crc16_H A5
```
当收到上位机的测试功能码后发送100字节数据回应
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
| ------------ | ------------------ | ------------ | ------ | ------------------ |
| ID | 设备ID | uint8_t | | |
| (uint8_t)*88 | 生成的88个非零数据 | 88 * uint8_t | | |
| crc16 | crc16校验值 | uint16_t | | |
示例:
```HEX
```
#### 6.2. 0x40 发送脑电信号采集到的原始值 #### 6.2. 0x40 发送脑电信号采集到的原始值
@ -636,24 +716,24 @@ HEX: 5A 01 ID 21 00 00 00 00 00 crc16_L crc16_H A5
#### ~~6.3. 0x41 发送 脑电信号采集到的值 换算为电压值的系数的倒数~~ #### ~~6.3. 0x41 发送 脑电信号采集到的值 换算为电压值的系数的倒数~~
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 01 ID 41 00 04 00 00 00 data1_LL data1_LH data1_HL data1_HH crc16_L crc16_H A5 HEX: 5A 01 ID 41 00 04 00 00 00 data1_LL data1_LH data1_HL data1_HH crc16_L crc16_H A5
``` ```
发送 发送
实际值 = 脑电信号采集到的原始值 * 1/data1 实际值 = 脑电信号采集到的原始值 * 1/data1
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 | | 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
| -------- | ------------------------------------------ | -------- | ------ | ------------------ | | -------- | ---------------------------------------------- | -------- | ------ | ------------------ |
| ID | 设备ID | uint8_t | | | | ID | 设备ID | uint8_t | | |
| data1 | 脑电信号采集到的值换算为电压值的系数的倒数 | int32_t | | | | data1 | ~~脑电信号采集到的值换算为电压值的系数的倒数~~ | int32_t | | |
| crc16 | crc16校验值 | uint16_t | | | | crc16 | crc16校验值 | uint16_t | | |
#### 6.3. 0x44 发送分解出的8种脑波各自的占比 #### 6.3. 0x44 发送分解出的8种脑波各自的占比
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 01 ID 42 00 14 00 00 00 AA_L AA_H (uint16_t * 7) crc16_L crc16_H A5 HEX: 5A 01 ID 42 00 14 00 00 00 AA_L AA_H (uint16_t * 7) crc16_L crc16_H A5
@ -664,15 +744,15 @@ HEX: 5A 01 ID 42 00 14 00 00 00 AA_L AA_H (uint16_t * 7) crc16_L crc16_H A5
为保留精度,下位机将原始值乘以 60000转换成 uint16_t 类型,发送给至上位机 为保留精度,下位机将原始值乘以 60000转换成 uint16_t 类型,发送给至上位机
转化后的数值范围0 ~ 60000 转化后的数值范围0 ~ 60000
| 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 | | 参数名称 | 参数描述 | 参数类型 | 参数值 | 参数值对应功能描述 |
| ------------------- | -------------------------------------------- | ----------- | ------ | ------------------ | | ------------------- | ---------------------------------------------------------------------- | ------------ | ------ | ------------------ |
| ID | 设备ID | uint8_t | | | | ID | 设备ID | uint8_t | | |
| AA + (uint16_t) * 7 | 顺序对应DeltaThetaAlphaSMRHighBetaBeta,Gamma还一个忘了。 | 8 * uint16_t | | | | AA + (uint16_t) * 7 | 顺序对应DeltaThetaAlphaSMRHighBetaBeta,Gamma还一个忘了。 | 8 * uint16_t | | |
| crc16 | crc16校验值 | uint16_t | | | | crc16 | crc16校验值 | uint16_t | | |
#### 6.3. 0x60 发送 计算得出的每分钟心率值 的 100倍 #### 6.3. 0x60 发送 计算得出的每分钟心率值 的 100倍
数据帧示例 数据帧结构示意
``` HEX ``` HEX
HEX: 5A 01 ID 60 00 02 00 00 00 AA_L AA_H crc16_L crc16_H A5 HEX: 5A 01 ID 60 00 02 00 00 00 AA_L AA_H crc16_L crc16_H A5