From e2bb7b4cba7efe12803fed7b5838a074fa613256 Mon Sep 17 00:00:00 2001 From: liurunyu <lry9898@163.com> Date: 星期一, 02 十二月 2024 11:37:00 +0800 Subject: [PATCH] 修改升级协议中的bug,帧长度由大端模式改为小端模式 --- pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CommonV1.java | 11 ++++++++--- 1 files changed, 8 insertions(+), 3 deletions(-) diff --git a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CommonV1.java b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CommonV1.java index d77f480..f624369 100644 --- a/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CommonV1.java +++ b/pipIrr-platform/pipIrr-common/src/main/java/com/dy/common/mw/protocol/p206V1/CommonV1.java @@ -1,12 +1,16 @@ package com.dy.common.mw.protocol.p206V1; +import com.dy.common.mw.channel.tcp.TcpIoSessionAttrIdIsRtuAddr; import com.dy.common.util.ByteUtil; import com.dy.common.util.ByteUtilUnsigned; import com.dy.common.util.CRC16; import com.dy.common.util.CRC8_for_2_0; +import org.apache.mina.core.session.IoSession; public class CommonV1 { + + /** * 妫�鏌ュご * @param bs 涓婅瀛楄妭鏁扮粍 @@ -75,7 +79,7 @@ int len = ByteUtilUnsigned.byte2Byte(bs, ProtocolConstantV206V1.dataLenIndex); return len + ProtocolConstantV206V1.lenHead2ctrl + ProtocolConstantV206V1.lenTail; }else{ - int len = ByteUtilUnsigned.bytes2Short_BE(bs, ProtocolConstantV206V1.UG_dataLenIndex_start); + int len = ByteUtilUnsigned.bytes2Short_LE(bs, ProtocolConstantV206V1.UG_dataLenIndex_start); return len + ProtocolConstantV206V1.UG_lenHead2Cmd + ProtocolConstantV206V1.UG_lenTail; } } @@ -176,8 +180,9 @@ return "璁$畻CRC鏄�:" + crcCompute + "锛屼笂浼燙RC鏄�" + crcInBs ; } }else{ - int crcCompute = (byte)new CRC16().CRC(bs, ProtocolConstantV206V1.ctrlIndex, bs.length - 3) ; - int crcInBs = ByteUtilUnsigned.bytes2Short_BE(bs, bs.length - 3) ; + short crcCompute = new CRC16().CRC(bs, 0, bs.length - 4) ; + short crcInBs = ByteUtil.bytes2Short_BE(bs,bs.length - 3) ; + //int crcInBs = ByteUtilUnsigned.bytes2Short_BE(bs, bs.length - 3) ; if(crcCompute == crcInBs){ return null ; }else{ -- Gitblit v1.8.0