MODBUS-RTU CRC校驗(yàn)碼計(jì)算 VB源代碼
Public Function CRC(STR1 As bbbbbb) As bbbbbb
Dim CRCREG As Long
Dim MVAL As Long
Dim R As Integer
CRCREG = 65535
For R = 1 To Len(STR1) Step 2
MVAL = Val("&H" + Mid(STR1, R, 2))
CRCREG = CRCREG Xor MVAL
CRCREG = CRCREG And 65535
For T = 1 To 8 Step 1
If (CRCREG And &H1) Then
CRCREG = (CRCREG \ 2) Xor &HA001
CRCREG = CRCREG And 65535
Else
CRCREG = CRCREG \ 2
CRCREG = CRCREG And 65535
End If
Next
Next
Dim A As Long
Dim B As Long
A = CRCREG And 255
B = CRCREG And 65280
A = A * 256
B = B / 256
If (A + B) < 16 Then
CRC = "000" + Hex(A + B)
ElseIf (A + B) < 256 Then
CRC = "00" + Hex(A + B)
ElseIf (A + B) < 4096 Then
CRC = "0" + Hex(A + B)
Else
CRC = Hex(A + B)
End If
Dim CRCREG As Long
Dim MVAL As Long
Dim R As Integer
CRCREG = 65535
For R = 1 To Len(STR1) Step 2
MVAL = Val("&H" + Mid(STR1, R, 2))
CRCREG = CRCREG Xor MVAL
CRCREG = CRCREG And 65535
For T = 1 To 8 Step 1
If (CRCREG And &H1) Then
CRCREG = (CRCREG \ 2) Xor &HA001
CRCREG = CRCREG And 65535
Else
CRCREG = CRCREG \ 2
CRCREG = CRCREG And 65535
End If
Next
Next
Dim A As Long
Dim B As Long
A = CRCREG And 255
B = CRCREG And 65280
A = A * 256
B = B / 256
If (A + B) < 16 Then
CRC = "000" + Hex(A + B)
ElseIf (A + B) < 256 Then
CRC = "00" + Hex(A + B)
ElseIf (A + B) < 4096 Then
CRC = "0" + Hex(A + B)
Else
CRC = Hex(A + B)
End If
本文標(biāo)簽:MODBUS-RTU CRC校驗(yàn)碼計(jì)算 VB源代碼
* 由于無法獲得聯(lián)系方式等原因,本網(wǎng)使用的文字及圖片的作品報酬未能及時支付,在此深表歉意,請《MODBUS-RTU CRC校驗(yàn)碼計(jì)算 VB源代碼》相關(guān)權(quán)利人與機(jī)電之家網(wǎng)取得聯(lián)系。
關(guān)于“MODBUS-RTU CRC校驗(yàn)碼計(jì)算 VB源代碼”的更多資訊










