Gast
#1718419
n'abend zusammen ... ich bin auf euren monströsen intellekt und eure astronomische erfahrung angewiesen: ein dummes kleines problem, zu dem ich aber bisher keine lösung gefunden hab (forum, internet.de ...) folgende umgebung: µC: dspic30f4013 RFID-Reader: ID ISC.MR101 (FeigElektronik) compiler: C30 testcompiler für teilprogramme(PC): mingw gcc für die kommunikation von RFID-Reader zu µC wird ein CRC-16 algorithmus verwendet (vom RFID-Hersteller vorgegeben):
1 | |
2 | |
3 | |
4 | |
5 | |
6 | |
7 | |
8 | |
9 | |
10 | |
11 | |
12 | |
13 | |
14 | |
(ist bestimmt nicht effizient, is mir aber im moment wurscht) problem: die berechnete prüfsumme stimmt nicht mit der tatsächlichen prüfsumme überein (die sieht man im übertragungsprotokoll der beiliegenden rfid-software) beispiel: nachricht ist: 14 FF 81 81 00 00 08 01 00 00 00 1E 00 00 00 00 01 01 E6 EC (die letzten beiden bytes sind CRC) der algorithmus berechnet aber folgendes: ece6 also genau die beiden bytes vertauscht ... wie fummel ich die wieder auseinander und dreh sie so hin wie ich sie brauch? bzw, wie nehm ich aus dem unsigned int 'ece6' das 'ec' und das 'e6' raus? ich glaube hier schonmal was ähnliches auf der seite gesehen zu haben, finds aber ums verrecken nicht mehr ... danke leute, ihr seid großes tennis!