Thema: Delphi CRC-Prüfsumme erzeugen

Einzelnen Beitrag anzeigen

gammatester

Registriert seit: 6. Dez 2005
999 Beiträge
 
#5

Re: CRC-Prüfsumme erzeugen

  Alt 12. Sep 2008, 23:14
Das ist ein bekannter CRC-Algorithmus CRC-8/Dallas-1-Wire. Du mußt die Bytes mit den LSB zuerst eingegen. Also bei Dir werden die Bytes $22,$E3,$F8,$1F,$00,$00,$00 in dieser Reihenfolge verarbeiten. Hier ist das vollständige Beispiel mit meinen CRC-Model-Units:
Delphi-Quellcode:
{$ifdef win32}
{$apptype console}
{$endif}
uses
  mem_util,crcmodel,crcm_cat;
const
  test: array[0..6] of byte = ($22,$E3,$F8,$1F,$00,$00,$00);
var
  ctx: TCRC_ctx;
  crc: longint;
begin
  cm_Create(CRC8_DALLAS1W,nil,ctx);
  cm_Full(ctx, CRC, @test, sizeof(test));
  writeln(ctx.name,'(',HexStr(@test, sizeof(test)),')=$',HexByte(CRC));
end.
Ausgabe: CRC-8/Dallas-1-Wire(22e3f81f000000)=$df

Die Units gibts als Opensource-Freeware via http://home.netsurf.de/wolfgang.ehrh....html#crcmodel


Gruß Gammatester
  Mit Zitat antworten Zitat