求一个VB编的串口通讯用的异或XOR校验程序(或函数)

现在我是人工算的,比如发送 80 9B 1B, 先把80和9B分别换算成2进制,然后异或,异或结果再转换成16进制的1B,将899B1B填入发送栏,完成。
再举个例子,发送81 03 08 8A, 先把81、03和08分别换算成2进制,然后异或,异或结果转换成16进制的8A,将8103088A填入发送栏,完成。
需要一个函数或者程序,自动完成上述的转换。异或在这儿是不是一定要以2进制形式进行?

Private Sub cmdSendHex_Click() '16进制发送
    Dim sj() As Byte
    Dim sj_Txt As String
    Dim i As Integer
    sj_Txt = TxtSend
    If Len(TxtSend) Mod 2 = 0 And Len(TxtSend) <> 0 Then '检验16进制字符串长
        ReDim sj(Len(sj_Txt) / 2 - 1)
        For i = 0 To Len(sj_Txt) - 1 Step 2
           sj(i / 2) = Val("&H" & Mid(sj_Txt, i + 1, 2))
        Next
        Print Hex(sj(0) Xor sj(1) Xor sj(2))
    Else
        MsgBox ("格式不对!")
    End If
    Text1 = TxtSend & Right("0" & Hex(sj(0) Xor sj(1) Xor sj(2)), 2)
End Sub

Private Sub Form_Load()
    TxtSend = "010308"

注意,LZ的另一问帖http://zhidao.baidu.com/question/1494241010460703299.html?oldq=1,我已经做了回复.

温馨提示:答案为网友推荐,仅供参考
相似回答