= 通讯协议(小端模式) = == 上位机 与 监控灯板PCB通讯协议 == ===物理层协议=== *通过485通讯,4800波特率,校验位无,数据位8位,停止位1位。 ====帧格式表==== {| class="wikitable sortable" |- ! 起始位(Byte0) !! 命令(Byte1) !! 数据(Byte2) !! 数据(Byte3) !! 数据(Byte4) !! 校验(Byte5) |- |0xFF||见数据位表||见数据位表||见数据位表||见数据位表||将1-4Byte进行BCC异或校验 |} =====数据位表(上位机)===== {| class="wikitable sortable" |- ! Byte1 !! Byte2 !! Byte3 !! Byte4 |- |
0x00表示控制下位机摄像机、备用、硬盘指示灯;
0x01表示向下位机索要当前编码器值。||
控制下位机摄像头1-4指示灯;
0xff向下位机索要编码器值。||
控制下位机摄像头5-6和备用1-2指示灯;
0x00向下位机索要编码器值。||
控制下位机硬盘1-2指示灯;
0xff向下位机索要编码器值。 |} =====数据位表(下位机)===== {| class="wikitable sortable" |- ! Byte1 !! Byte2 !! Byte3 !! Byte4 |- |0x01 || 当前编码器值。|| 0xff || 0x00 |} ====数据命令以及数据内容表(上位机)==== {| class="wikitable sortable" |- ! Byte2 || 数据详解 |- |bit0-1(摄像头1) || 00表示None(指示灯全灭)、01表示OK(指示灯亮绿色)、10表示ERR(指示灯亮红色)、11表示ALL(指示灯全亮)。 |- |bit2-3(摄像头2) || 00表示None(指示灯全灭)、01表示OK(指示灯亮绿色)、10表示ERR(指示灯亮红色)、11表示ALL(指示灯全亮)。 |- |bit4-5(摄像头3) || 00表示None(指示灯全灭)、01表示OK(指示灯亮绿色)、10表示ERR(指示灯亮红色)、11表示ALL(指示灯全亮)。 |- |bit6-7(摄像头4) || 00表示None(指示灯全灭)、01表示OK(指示灯亮绿色)、10表示ERR(指示灯亮红色)、11表示ALL(指示灯全亮)。 |- ! Byte3 || 数据详解 |- |bit0-1(摄像头5) || 00表示None(指示灯全灭)、01表示OK(指示灯亮绿色)、10表示ERR(指示灯亮红色)、11表示ALL(指示灯全亮)。 |- |bit2-3(摄像头6) || 00表示None(指示灯全灭)、01表示OK(指示灯亮绿色)、10表示ERR(指示灯亮红色)、11表示ALL(指示灯全亮)。 |- |bit4-5(备用1) || 00表示None(指示灯全灭)、01表示OK(指示灯亮绿色)、10表示ERR(指示灯亮红色)、11表示ALL(指示灯全亮)。 |- |bit6-7(备用2) || 00表示None(指示灯全灭)、01表示OK(指示灯亮绿色)、10表示ERR(指示灯亮红色)、11表示ALL(指示灯全亮)。 |- ! Byte4 || 数据详解 |- |bit0-1(硬盘2) || 00表示None(指示灯全灭)、01表示OK(指示灯亮绿色)、10表示ERR(指示灯亮红色)、11表示ALL(指示灯全亮)。 |- |bit2-3(硬盘1) || 00表示None(指示灯全灭)、01表示OK(指示灯亮绿色)、10表示ERR(指示灯亮红色)、11表示ALL(指示灯全亮)。 |- |} #例子:发送ff 00 55 55 55 55使所有设备指示灯都处于OK状态(全部亮绿灯)。 ====数据命令以及数据内容表(下位机)==== {| class="wikitable sortable" |- ! Byte2 || 数据详解 |- |bit0-3 || 编码器个位数。 |- |bit4-7 || 编码器十位数。 |} #例子:收到ff 01 55 ff 00 AB表示当前编码器值为85。