[讨论] 问个初级问题:关于checksum

qdwlx   2009-2-16 20:23 楼主
题目是这样的:从主控板给压缩机发送指令,每隔一秒一次,每次发送20个字节,其中前十位为发送起始标志位1bit,命令字节(8bit),发送结束标志位1bit。后十位为发送起始标志1位,checksum(8bit),结束标志1位。如果命令字节是10000000,请问checksum是什么?
补充:我也不知道它是用的什么协议,但给出了一个例子:如果command byte=111(假设为三位),那么checksum=1010;我是很稀里糊涂的听了这个问题。要是题目说错了大家也别生气,跟个韩国人交流的,语言有障碍。
希望能知道相关知识的能详细给说一下,相关的知识就好

回复评论 (4)

Re: 问个初级问题:关于checksum

checksum应该是一个容错校验的数据.
它跟命令字一起进行某种运算,结果会等于一个定值.如果结果不等于这个值就表示数据出错了.

所以首先要了解它的运算机制.
点赞  2009-2-16 22:21

Re: 问个初级问题:关于checksum

校验和是一个容错校验的数据,根据协议,对发送来的数据进行累加,一般取最后一个字节,发过来的校验和比对,如果相符,就认为接收到的数据正确,否则,就认为接收数据有误。
点赞  2009-2-17 07:25

Re: 问个初级问题:关于checksum

校验码的协议是自己定的,比如你定义奇偶校验码,那么就根据内容的8bit中1个个数来决定显示1或者0.当然你也可以定义为CRC16或者CRC32这种校验方式。
接收方同样根据这个协议,将收到的数据进行转换,并检查跟校验码是否一致,如果不一致就表示传输中出现错误,就是纠正或者要求重传。
点赞  2009-2-17 09:21
今天又给我了个例子,10000000的checksum是00101010,是10000000XOR10101010得来的。我想知道这个10101010是怎么来的,有这个规定或者法则吗
点赞  2009-2-17 17:07
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 京公网安备 11010802033920号
    写回复