June 19, 2010
at 9:22 am
(Code)
Function FindCRC(Value)
Dim val(5) As Byte
value1 = Left(Value, 2)
value2 = Mid(Value, 4, 2)
value3 = Mid(Value, 7, 2)
value4 = Mid(Value, 10, 2)
value5 = Right(Value, 2)
val(1) = “&H” & value1
val(2) = “&H” & value2
val(3) = “&H” & value3
val(4) = “&H” & value4
val(5) = “&H” & value5
FindCRC = Hex(CalcCRC(val))
End Function
Function for VB6, (place it in a module) to find the CRC of incoming data on the BR-3 OBDII module.
Comments
June 19, 2010
at 9:20 am
(Code)
Function CalcCRC(s() As Byte) As Byte
checksum = 0
crcreg = 255
length = UBound(s) – LBound(s)
For i = 1 To length
bitpoint = 128
x = s(i)
For k = 0 To 7
If bitpoint And x Then
If crcreg And 128 Then
poly = 1
Else
poly = 28
End If
crcreg = (((crcreg * 2) Or 1) Xor poly) And 255
Else
If crcreg And 128 Then
poly = 29
Else
poly = 0
End If
crcreg = ((crcreg * 2) Xor poly) And 255
End If
bitpoint = bitpoint \ 2
Next k
Next
CalcCRC = (Not crcreg) And 255
End Function
VB6 function, (place it in a module) that will calculate the crc hex packet to use with the BR-3 OBDII unit.
Comments