Hallo, ich kämpfe gerade mit meinem RFID Reader RDM 630 UART von http://iteadstudio.com. Ich denke ich habe einen systematischen Fehler in der Checksummenbildung, finde ihn aber nicht. Anbei die Spec des Moduls. Ich lese folgende Hex e.g. received date: 02 | 30 32 30 30 34 44 42 30 30 35 | 46 43 | 03 Aufbau: start | 10 ascii characters | checksum | end specified in spec decoded hex date | 02h 00h 4Dh B0h 05h | FCh xor Operation on the 5 bytes, I get 02 XOR 00 XOR 4d XOR b0 XOR 05 = FAh Vielen Dank schon einmal vorab für Eure Hilfe. Jojo
FC kann eigentlich nicht stimmen. Also das Beispiel aus dem Datenblatt:
1 | char test[] = {0x62,0xE3,0x08,0x6C,0xED}; |
2 | unsigned char check=0; |
3 | for(i = 0; i<5;i++){ |
4 | check ^= test[i]; |
5 | }
|
ergibt bei mir genauso wie auf S.4 0x08.
1 | char test[]= {0x02,0x00, 0x4D,0xB0,0x05}; |
ergibt bei mir ebenfalls 0xFA und nicht 0xFC;
Danke für den "Nachtest". Ich kann das Spec Beispiel ebenfalls nachvollziehen. Leider klappt es mit der echten TagId und den übertragenen Checksumme nicht; 4 weitere Tags zeigen die "gleichen" Abweichungen. Auffällig ist, dass sogar einmal ein 0x3b also ";" Byte als Checksummenbyte ankommt. Vielleicht hat doch noch einer eine Idee wo der Checksummenfehler entsteht und wie ich ihn in einer Prüfung verarbeiten kann. Danke Jojo
Hallo jojo Ich habe das geliche Problem. Es hat mich 5 Stunden Programmierung un 100 Euro für einen 8-PortScanner gekostet um nachzuweisen, dass meine 125kHz Tags auf Basis EM4100 nicht das auf dem RDM630(0) bewirken, was sie sollten. Nach langer Analyse des EM4100 hat sich gezeigt, dass wohl das RDM630 die Checksume generiert. Auf welche weise das geschiet, entzieht sich mangelnder Dokumentation des RDM630 meiner Kenntnissen. Die Werte ";" und "<" hatte ich auch. Sind übrgines dann als gültig zu verstehen, wenn man dem Hersteller der Karte zugibt, vergessen zu haben, dass zwischen ASCII "9" und "A" noch weitere Werte sind. oder andersrum: bei 5 von 10 Karten hätte die Checksume gepasst, würde ich nur '9' abziehen. Bis jetzt habe ich keine stabile Umsetzung gefunden. Gruss, Markus
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.