Hey!
Erstmal bitte ich um Entschuldigung, wenn das Thema im falschen Forum gelandet ist
Nun zu meinem Hauptproblem.
Ich habe ein ByteArray, und muss über dieses die crc16 bestimmen um sicherzugehen, das die erhaltenen Daten konsitent sind.
Das was ich bisher programmiert habe sieht so aus:
Problem an der ganzen Sache ist, das die berechnete crc nicht mit der übermittelten identisch ist. Obwohl ich dieselbe Tabelle benutze.
Erstmal bitte ich um Entschuldigung, wenn das Thema im falschen Forum gelandet ist
Nun zu meinem Hauptproblem.
Ich habe ein ByteArray, und muss über dieses die crc16 bestimmen um sicherzugehen, das die erhaltenen Daten konsitent sind.
Das was ich bisher programmiert habe sieht so aus:
Code:
private int crc = 0x0000; private int crctable[] = { /*gefüllt*/ }; public void update(byte[] bytes) { for (byte b : bytes) { crc = (crc >> 8) ^ crctable[(crc ^ b++) & 0xff]; } System.out.println("CRC16(hex) = " + Integer.toHexString(crc) +" CRC16(int) = "+crc); } public int getValue(){ return this.crc; } public short getShortValue(){ return (short)crc; }
Comment