Servus, ich habe mal eine Frage kann es leider nirgends finden. Wie genau berechnet man die GPS Prüfsumme ? Ich weiss das sie als XOR vom $ bis zum * berechnet wird, aber nicht genau wie... ich muss in ANSI C ne funktion schreiben die die Prüsummer berechnet, sprich mir fehlt nur das was hinterm * steht das muss ich berechnen weiss nur nicht wie :-( kann mir das einer mal mit beispiel erklären, oder gibts das irgendwo schon beschrieben ? wäre super danke
Also eine kurze Suche im Inet per Google
ergibt also folgende genauere definition der Checksumme:
<The optional checksum field consists of a "*" and two hex digits
representing the exclusive OR of all characters between, but not
including, the "$" and "*".>
kurz danach hab ich den folgenden Sourcecode gefunden
' Calculates the checksum for a sentence
Public Function GetChecksum(ByVal sentence As String) As String
' Loop through all chars to get a checksum
Dim Character As Char
Dim Checksum As Integer
For Each Character In sentence
Select Case Character
Case "$"c
' Ignore the dollar sign
Case "*"c
' Stop processing before the asterisk
Exit For
Case Else
' Is this the first value for the checksum?
If Checksum = 0 Then
' Yes. Set the checksum to the value
Checksum = Convert.ToByte(Character)
Else
' No. XOR the checksum with this character's value
Checksum = Checksum Xor Convert.ToByte(Character)
End If
End Select
Next
' Return the checksum formatted as a two-character hexadecimal
Return Checksum.ToString("X2")
End Function
siehe auch:
http://www.codeguru.com/vb/gen/vb_system/win32/article.php/c8079__3/
Hilft dir das ?
Gruss
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.