Math 我的5字节数据校验和不正确
我正在处理来自一个串行硬件的6字节消息。 制造商在其手册中指出,每条消息的校验和(其第6字节)由“消息其余部分总和的低位字节”组成 我还没有尝试过所有这些示例,让我展示一下我在第一个“剖析”示例上的工作: 这是提供的公式:Math 我的5字节数据校验和不正确,math,hex,byte,bit-manipulation,checksum,Math,Hex,Byte,Bit Manipulation,Checksum,我正在处理来自一个串行硬件的6字节消息。 制造商在其手册中指出,每条消息的校验和(其第6字节)由“消息其余部分总和的低位字节”组成 我还没有尝试过所有这些示例,让我展示一下我在第一个“剖析”示例上的工作: 这是提供的公式: 0xB2+0x00+0x69+0x1A+0x83=0x68的低位字节 所以,总和是0x1B8,如果我取前8位,我得到0xB8 六羟甲基三聚氰胺六甲醚。。。我做错了吗 我想了想,然后猜测,哦,也许他们只是做一个按位操作,这在旧硬件上很常见,对吗? 所以我写下了每个部分的片段
0xB2+0x00+0x69+0x1A+0x83=0x68的低位字节
所以,总和是0x1B8,如果我取前8位,我得到0xB8
六羟甲基三聚氰胺六甲醚。。。我做错了吗
我想了想,然后猜测,哦,也许他们只是做一个按位操作,这在旧硬件上很常见,对吗?
所以我写下了每个部分的片段,并将系列XORed在一起
- 0xB2^0x00=0xB2(duh)
- 0xB2^0x69=0xDB
- 0xDB^0x1A=0xC1
- 0xC1^0x83=0x42
任何帮助都将不胜感激!谢谢。我刚刚用Windows RT calculator攻击了所有示例,其他所有()都很好-只是这是错误的。这看起来像是一个简单的文档输入错误。是的,有一位同事也提出了这个问题。不幸的是,硬件也出现了错误,但是是一个常数。我假设规范中的某些内容发生了变化,文档也过时了。