Ik moet een crc berekenen volgens het CCITT polynoom.
polynoom x^16 + x^12 + x^5 + 1
Startwaarde: FFFF
Ik heb de volgende Visual basic routine gevonden, maar de antwoorden die eruit komen zijn niet in overeenstemming met de waarden die ik uit de crc calculator op deze pagina krijg:
http://rcswww.urz.tu-dresden.de/~sr21/crc.html
Heb net een uitgebreide tutorial over crc gelezen, maar ik begrijp nog steeds niet wat er nou pecies gebeurd in deze code:
Kan iemand me op weg helpen met een tip?
De string waarover ik crc moet berekenen is een hex string van 12 bytes (24 tekens dus)
polynoom x^16 + x^12 + x^5 + 1
Startwaarde: FFFF
Ik heb de volgende Visual basic routine gevonden, maar de antwoorden die eruit komen zijn niet in overeenstemming met de waarden die ik uit de crc calculator op deze pagina krijg:
http://rcswww.urz.tu-dresden.de/~sr21/crc.html
Heb net een uitgebreide tutorial over crc gelezen, maar ik begrijp nog steeds niet wat er nou pecies gebeurd in deze code:
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
| Public Function CRC16A(Buffer() As Byte) As Long
Dim I As Long
Dim Temp As Long
Dim CRC As Long
Dim J As Integer
For I = 0 To UBound(Buffer) - 1
Temp = Buffer(I) * &H100&
CRC = CRC Xor Temp
For J = 0 To 255
If (CRC And &H8000&) Then
CRC = ((CRC * 2) Xor &H1021&) And &HFFFF&
Else
CRC = (CRC * 2) And &HFFFF&
End If
Next J
Next I
CRC16A = CRC And &HFFFF
End Function |
Kan iemand me op weg helpen met een tip?
De string waarover ik crc moet berekenen is een hex string van 12 bytes (24 tekens dus)