方法1
getXOR——是校验方法
/\*\*
\* 最小数据包的长度(除开数据的N个字节)
\* 帧头 保留字节 协议控制字 地址字段 命令长度 命令码 命令数据 校验和
\* 2字节 3字节 1字节 2或8字节 2字节 2字节 0-1100字节 2字节
\* SYN RES PTROL ADDR SLEN COMMAND APPDATA CRC16
\*/
int MIN\_PACK\_LEN = 2 + 3 + 1 + 2 + 2 + 2 + 2;
/\*\*
\* 数据:0-N字节,N小于等于250
\*/
int SLEN = 1100;
int MAX\_DATA\_N = 255;
private final ByteBuffer mByteBuffer;
public SerialReadThread(InputStream is) {
mInputStream = new BufferedInputStream(is);
mByteBuffer = ByteBuffer.allocate(1024);
mByteBuffer.clear();
}
private boolean isValid(byte\[\] recvCheck, byte\[\] myCheck) {
//LgqLogutil.d("rr=== "+ MyByteUtil.bytes2HexStr(recvCheck)+",,,m==="+MyByteUtil.bytes2HexStr(myCheck));
for (int i = 0, n = recvCheck.length; i < n; ++i) {
if (recvCheck\[i\] != myCheck\[i\]) {
return false;
}
}
return true;
}
/\*\*
\* 处理获取到的数据
\*
\*