Forum: PC-Programmierung CRC CCITT Tabellen Generation


von TM (Gast)


Lesenswert?

Guten Tag,

Ich versuche mich momentan darin eine Funktion zu implementieren, welche 
eine CRC CCITT Tabelle generiert.
Ich mache das ganze in Python
Dies ist mein bisheriger Code:
1
crc_table = []
2
crc=0xFFFF
3
poly = 0x1021
4
def initCRCTable():
5
    n=0
6
    k=0 
7
    ncrc=0
8
    for n in range(0,256):
9
        ncrc = n
10
        for k in range(0,8):
11
            if (ncrc & 0x01):
12
                ncrc = (ncrc >> 1) ^ poly
13
            else:
14
                ncrc = ncrc >> 1
15
        crc_table.append(ncrc)

Ich habe mir mal andere Tabellen angeschaut und irgendwie hab ich das 
Gefühl, dass ich irgendwas falsch gemacht habe?

Hat jemand von euch eine Idee?

von Zapp (Gast)


Lesenswert?

Was ist denn nicht gut ? Mir scheint man geht mit n von 0..255.

von Michael H. (morph1)


Lesenswert?

also das polynom ist mehr als 8bit lang, du wirst also nicht mit 256 
werten auskommen.

soweit zumindest mein verständnis vom diesen look-up tables. bitte 
korrigiert mich :)

von Coder (Gast)


Lesenswert?

Michael H. schrieb:
> also das polynom ist mehr als 8bit lang, du wirst also nicht mit 256
> werten auskommen.
>
> soweit zumindest mein verständnis vom diesen look-up tables. bitte
> korrigiert mich :)

Ich kenne mich nicht mit Python aus, aber eine crc16 loopup table hat 
i.d.R. 256 Werte; zumindest die Implementierung die ich kenne.

von TM (Gast)


Lesenswert?

Hat sich bereits erledigt funktioniert nun.

Gruß Tobias

die LUT ist 256 groß, da ich die Checksumme Byteweise berrechne

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
Noch kein Account? Hier anmelden.