怎么用VB做8位CRC程序

来源:百度知道 编辑:UC知道 时间:2024/06/01 18:26:46
怎么用VB做8位CRC程序

unction CalCRC(BCRC As Integer, GP As Long, BDF As Long) As Long
Dim C1&, C2&
Dim A1%, preC1&
Dim LeftValue%, A1Shift%
If BDF = 0 Then
CalCRC = 0
Exit Function
End If
A1 = (Len(Hex(BDF)) - 1) * 4
C1 = BDF * 2 ^ BCRC
LeftValue = Val("&H" & Mid(Hex(BDF), 1, 1))
If LeftValue >= 1 Then A1Shift = 1
If LeftValue >= 2 Then A1Shift = 2
If LeftValue >= 3 Then A1Shift = 3
If LeftValue >= 4 Then A1Shift = 4
A1 = A1 + (A1Shift - 1)
C2 = GP * 2 ^ A1
Do
preC1 = C1
C1 = C1 Xor C2
Do
A1 = A1 - 1
If C1 > preC1 Then
C1 = preC1 Xor (GP * 2 ^ A1)
Else
Exit Do
End If
Loop
C2 = GP * 2 ^ A1
Loop Until C1 <= GP
CalCRC = C1
End Function

VB 对位的操作是有点难度的!
VB 的CRC 校验程序 请看下的URL!
VB下如何编写CRC校验程序

摘自于网络
VB下如何编写CRC校验程序
随着计算机技术的不断发展,在现代工业中,利用微机进行数据通讯的工业控制应用得也越来越广泛。由于传输距离、现场状况等诸多可能出现的因素影响,计算机与受控设备之