Thema: Delphi CRC-Prüfsumme erzeugen

Einzelnen Beitrag anzeigen

Elko

Registriert seit: 2. Feb 2008
52 Beiträge
 
Delphi 7 Personal
 
#6

Re: CRC-Prüfsumme erzeugen

  Alt 12. Sep 2008, 23:22
Hallo,
ich habe versucht, das per Hand mal durchzurechnen, aber da kommt bei mir nur Müll raus... leider... aber egal, ich habe das Problem -nach längerem Nachvollziehen der Hardware-Lösung- jetzt so gelöst:

Prinzip siehe hier.

Code:
unsigned char i, j, input, bit, crc, polynom, sernum[7];
crc=0;
polynom=0x131;

sernum[0]=0x22;
sernum[1]=0xE3;
sernum[2]=0xF8;
sernum[3]=0x1F;
sernum[4]=0x00;
sernum[5]=0x00;
sernum[6]=0x00;



for(i=0;i<7;i++){
    for(j=0;j<8;j++){
        input = (sernum[i]>>j) & (0x01);
        bit = (crc & 0x01)^input;
        crc ^= (bit<<4) | (bit<<3);
        crc >>= 1;
        crc |= bit<<7;
    }
}

printf("Die CRC-Pruefsumme lautet: %x", crc);
Da kommt dann auch anständig DF (nicht "Das Delphi-Forum") raus Yippiiiie!

Oh, danke für den Beitrag eben, gammatester! Dann kann ich jetzt also auch mit den entsprechenden Units das ganze mit Delphi machen (habe es momentan in C für nen USB-Chip geschrieben)


Viele Grüße,
Elko
Keyboard not found. Press any key to continue.
  Mit Zitat antworten Zitat