函数来计算C#中的块检查字符(BCC)

块检查字符(BCC)我需要一个函数来计算C#中的块检查字符(BCC)。 01 30 02 4D 21 20 20 03这是字符串,如何为此字符串计算“块检查字符”。

BCC =从SOH到ETX SOH ID的异或,STX代码ETX BCC 0x01 0x30 0x02 0x40 0x03

我需要添加BCC并将数据发送到COM。 如果可能请给我一个function,以便我可以发送“01 30 02 4D 21 20 20 03”并获得BCC。

谢谢

据我所知,BCC是给定字节流中除第一个SOH或STX之外的所有字节的XOR,直到第一个ETX或EOT。 ETX包含在BCC中。 在每个ETX之后拆分字节流并调用以下函数以获得BCC。

public static byte GetBCC(this byte[] inputStream) { byte bcc = 0; if (inputStream != null && inputStream.Length > 0) { // Exclude SOH during BCC calculation for (int i = 1; i < inputStream.Length; i++) { bcc ^= inputStream[i]; } } return bcc; }