我有一个串行连接的校验和,记录如下:
公式:
Chk = 0;
for(i=0;i<Number_Of_Bytes;i++)
{
Chk = Chk ^ Message_Byte[i]
}
我的代码是:
public static List<byte> GetChecksum(this List<byte> source)
{
byte sum = 0;
int length = source.Count();
for (int i = 0; i < length; i++)
{
sum ^= source[i];
}
source.Add(sum);
return source;
}
协议似乎不喜欢我的校验和(它通过校验和错误响应拒绝我的消息)。我究竟做错了什么?