题目是这样的:从主控板给压缩机发送指令,每隔一秒一次,每次发送20个字节,其中前十位为发送起始标志位1bit,命令字节(8bit),发送结束标志位1bit。后十位为发送起始标志1位,checksum(8bit),结束标志1位。如果命令字节是10000000,请问checksum是什么?
补充:我也不知道它是用的什么协议,但给出了一个例子:如果command byte=111(假设为三位),那么checksum=1010;我是很稀里糊涂的听了这个问题。要是题目说错了大家也别生气,跟个韩国人交流的,语言有障碍。
希望能知道相关知识的能详细给说一下,相关的知识就好
Re: 问个初级问题:关于checksum
checksum应该是一个容错校验的数据.
它跟命令字一起进行某种运算,结果会等于一个定值.如果结果不等于这个值就表示数据出错了.
所以首先要了解它的运算机制.
Re: 问个初级问题:关于checksum
校验和是一个容错校验的数据,根据协议,对发送来的数据进行累加,一般取最后一个字节,发过来的校验和比对,如果相符,就认为接收到的数据正确,否则,就认为接收数据有误。
Re: 问个初级问题:关于checksum
校验码的协议是自己定的,比如你定义奇偶校验码,那么就根据内容的8bit中1个个数来决定显示1或者0.当然你也可以定义为CRC16或者CRC32这种校验方式。
接收方同样根据这个协议,将收到的数据进行转换,并检查跟校验码是否一致,如果不一致就表示传输中出现错误,就是纠正或者要求重传。
今天又给我了个例子,10000000的checksum是00101010,是10000000XOR10101010得来的。我想知道这个10101010是怎么来的,有这个规定或者法则吗