==上位机、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个通道可设置。低位在前。 |-