Visual Basic 中的校验和计算
Checksum calculation in visual basic
我想与医疗分析仪通信并向其发送一些消息。但是分析器在消息末尾请求一个控制字符或校验和来验证它。
请原谅我的英语知识有限,但根据手册,这里是计算校验和的方法:
控制字符是排他逻辑和(异或),以字符为单位,从文本的开头到文本的结尾,由一个1字节的二进制组成。另外,由于该控制字符以16进制变为00~7F的值,请处理时不要误认为传输时使用的控制码。
所以请你告诉我如何根据这些信息得到这个控制字符。英文水平有限,没看懂。
我正在使用 Visual Basic 进行编程
谢谢
手册的英文也不是很好。我的理解:
您将发送到设备的消息可以表示为字节数组。您想要将每个字节异或在一起,这将为您留下一个字节的校验和,并将其添加到消息的末尾。 (字节 1 XOR 字节 2 XOR 字节 3 XOR ....)
"Moreover" 之后的所有内容似乎都在说 "If you are reading from the device, the final character is a checksum, not a command, so do not treat it as a command, even if it looks like one."。您正在写入设备,因此您可以忽略该部分。
异或(切记我不知道VB):
有一个校验和变量,设置为 0。循环遍历消息的每个字节,并将校验和变量与该字节进行异或。将结果存储回校验和。
我想与医疗分析仪通信并向其发送一些消息。但是分析器在消息末尾请求一个控制字符或校验和来验证它。
请原谅我的英语知识有限,但根据手册,这里是计算校验和的方法:
控制字符是排他逻辑和(异或),以字符为单位,从文本的开头到文本的结尾,由一个1字节的二进制组成。另外,由于该控制字符以16进制变为00~7F的值,请处理时不要误认为传输时使用的控制码。
所以请你告诉我如何根据这些信息得到这个控制字符。英文水平有限,没看懂。
我正在使用 Visual Basic 进行编程
谢谢
手册的英文也不是很好。我的理解:
您将发送到设备的消息可以表示为字节数组。您想要将每个字节异或在一起,这将为您留下一个字节的校验和,并将其添加到消息的末尾。 (字节 1 XOR 字节 2 XOR 字节 3 XOR ....)
"Moreover" 之后的所有内容似乎都在说 "If you are reading from the device, the final character is a checksum, not a command, so do not treat it as a command, even if it looks like one."。您正在写入设备,因此您可以忽略该部分。
异或(切记我不知道VB):
有一个校验和变量,设置为 0。循环遍历消息的每个字节,并将校验和变量与该字节进行异或。将结果存储回校验和。