实现的程序如下:
Public Function CRC(Brr() As Byte) As Long
'CRC校验核,全部数据进行校验
Dim i As Integer, j As Integer
Dim TempVal As Long
Dim YWval As Long
Dim LSB As Integer
TempVal = &HFFFF&
For i = 0 To UBound(Brr())
TempVal = TempVal Xor Brr(i)
For j = 1 To 8
YWval = Int(TempVal / 2)
LSB = TempVal Mod 2
If LSB = 1 Then
YWval = YWval Xor &HA001&
End If
TempVal = YWval
Next j
Next i
CRC = TempVal Mod 65536
End Function
按下计算后
Dim Cmd() As Byte
Dim Jyh0 As Byte
Dim Jyh1 As Byte
Dim ValCRC As Long
‘Cmd()得到Text1控件中所有数据的十六进制数据:
‘01 03 00 00 00 02
Text2是得到CRC校验位的