==上位机、STM32通讯协议==
*在工作状态下，上位机发送控制命令数据到STM32，STM32需要有应答，未收到应答需要重新发送；
====物理层协议====
*通过串口通讯，115200波特率，校验位无，数据位8位，停止位1位
=====帧格式表=====
{| class="wikitable sortable"
|-
! 起始位   !! 数据位 !! 校验位置 !! 结束位置
|-
|0xA5,一个字节长度||见数据位表，变长||数据位异或校验，一个字节长度||0x5A，一个字节长度
|}
=====数据位表=====
{| class="wikitable sortable"
|-
! 数据来源地址  !! 目的地址 !! 帧序号 !! 数据长度 !! 数据命令以及数据内容
|-
|0x91表示上位机，0x92表示矩阵控制板，一个字节||0x91表示上位机，0x92表示矩阵控制板，一个字节，一个字节长度||帧序号从0递增，控制板响应上位机指令时原样返回帧序号,两个字节，低位在前||数据命令以及数据内容部分数据长度，两个字节，低位在前||见数据命令以及数据内容表，'''是否需要回复'''是数据内容最后一个字节，变长
|}

=====数据命令以及数据内容表=====
{| class="wikitable sortable"
|-
! 命令字  !! 命令内容 !! 是否需要回复!! 备注
|-
|201, 两个字节， 低位在前 || 设置矩阵继电器状态||见'''矩阵继电器状态表'''||0表示无需返回，1表示需要返回||
|-
|202 || STM32响应矩阵继电器设置命令||数据正常应答0x00,错误应答0x01,一个字节长度||0表示无需返回||
|-
|203 || 上位机读取矩阵控制板软件版本||无||0表示无需返回，1表示需要返回||
|-
|204 || STM32响应上位机读取矩阵控制板软件版本||例如，"HM70.A8.01"||0表示无需返回||
|-
|205 || 上位机读取矩阵控制板硬件版本||无||0表示无需返回，1表示需要返回||
|-
|206 || STM32响应上位机读取矩阵控制板硬件版本||例如，"HMHD70.A8"||0表示无需返回||
|-
|207 || STM32开机信号||无||1表示需要返回||
|-
|208 || 上位机响应STM32开机信号||无||0表示无需返回||
|-
|209 || STM32心跳||继电器矩阵数据，32字节||0表示无需返回||
|-
|210 ||上位机应答 ||无||0表示无需返回||
|-

=====矩阵状态表=====
{| class="wikitable sortable"
|-
! 状态数据!! 说明
|-
|32个字节||固定32个字节，每bit代表1个继电器状态，1个通道2个继电器，同通道2个继电器bit位相邻，低位标示通道是否选中（1标示选中），高位标示测试通路选择（0标示A端，1标示B端），总128个通道可设置。低位在前。
|-