Français
Source/ Codesnippets

CRC16-Checksummen-Streamtest

 

p.specht

une Erweiterung des déjà behandelten CRC-8 Prüfsummenverfahrens sur 16 bit-Words. Im opposition trop anderen procéder wird ici pas sur vorberechnete Polynomtabellen zurückgegriffen, mais es volonté Shiftbefehle benutzt. Reine Demo pour private Zwecke - es dürften Rechte Dritter existieren!
CLS
' DEMO ONLY! NO WARRANTY WHATSOEVER! ALL RIGHTS APPLY TO THEIR RESPECTIVE OWNERS!
def &IBM = $A001' Used by Bisync, Modbus, USB, ANSI X3.28, SIA DC-07, ...
def &CCITT=$8408' Used by X.25, V.41, HDLC FCS, XMODEM, Bluetooth, PACTOR, SD
def &SCSI =$EDD1' Used by SCSI
Def %CRC16POLY &CCITT' $18 wäre z.B. X^8+X^5+X^4+X^0
Var CRC16_Sp% = 0' CRC16 grenier

proc CRC16_berechnen :Paramètres crc_data%' Übergabe données

    Var bit_counter% = 16' Schleifendurchlauf
    Var feedback_bit% = 0' Bit Rückgabe

    tandis que bit_counter% > 0' 8x Durchläufe

        feedback_bit% = Xor(CRC16_Sp%,crc_data%) & $01' XOR sur 1 überprüfen

        si feedback_bit% = $01' si 1, ensuite...

            CRC16_Sp% = Xor(CRC16_Sp%,%CRC16POLY)' XOR avec Poly

        EndIf

        CRC16_Sp% = (CRC16_Sp% >> 1) & $7FFF' Shift à droite & 32767  '$7F=247  <<<<<<

        si feedback_bit% = $01' si 1, ensuite...

            CRC16_Sp% = CRC16_Sp% | $8000' 32768    'ODER 128   <<<<<<<<<<<<<<<

        EndIf

        crc_data% = crc_data% >> 1' données Shift à droite
        Décembre bit_counter%' Schleifendurchlauf -1

    Endwhile' Ende Endlosschleife

endproc

Testaufruf:
CRC16_Sp% = 0' Reset CRC8 grenier

WhileLoop 0,2^16-1, 7' Chr$(0)+Chr$(0) jusqu'à Chr$(255)+Chr$(255) durchlaufen avec Step 7

    CRC16_berechnen(&Boucle)' CRC berechnen
    Imprimer "Daten="+Str$(&Boucle)+"   CRC16="+Str$(CRC16_Sp%),
    ' et eh bien comme Binärwert sous Anschluß qui Prüfsumme rückprüfen, muss ensuite 0 ergeben:"
    CRC16_berechnen(val("%"+right$("0000000000000000"+suis$(&Boucle),16)+right$("0000000000000000"+suis$(CRC16_Sp%),16)) )
    Imprimer tab(40);"Errorflag: ";Str$(CRC16_Sp%)

Endwhile

waitinput
 
XProfan 11
Computer: Gerät, daß es in Mikrosekunden erlaubt, 50.000 Fehler zu machen, zB 'daß' statt 'das'...
19.05.2021  
 



Zum Quelltext


Topictitle, max. 100 marque.
 

Systemprofile:

ne...aucune Systemprofil angelegt. [anlegen]

XProfan:

 Posting  Font  Smilies  ▼ 

s'il te plaît s'inscrire um une Beitrag trop verfassen.
 

Options du sujet

1.336 Views

Untitledvor 0 min.
Axel Berse17.06.2024
Member 361000504.08.2022
p.specht21.11.2021
R.Schneider20.11.2021
plus...

Themeninformationen

cet Thema hat 1 participant:

p.specht (1x)


Admins  |  AGB  |  Applications  |  Auteurs  |  Chat  |  protection des données  |  Télécharger  |  Entrance  |  Aider  |  Merchantportal  |  Empreinte  |  Mart  |  Interfaces  |  SDK  |  Services  |  Jeux  |  cherche  |  Support

un projet aller XProfaner, qui il y a!


Mon XProfan
Privé Nouvelles
Eigenes Ablageforum
Sujets-La liste de voeux
Eigene Posts
Eigene Sujets
Zwischenablage
Annuler
 Deutsch English Français Español Italia
Traductions

protection des données


Wir verwenden Cookies seulement comme Session-Cookies à cause de qui technischen Notwendigkeit et chez uns gibt es aucun Cookies de Drittanbietern.

si du ici sur unsere Webseite klickst ou bien navigierst, stimmst du unserer Erfassung de Informationen dans unseren Cookies sur XProfan.Net trop.

Weitere Informationen trop unseren Cookies et en supplément, comment du qui Kontrolle par-dessus behältst, findest du dans unserer nachfolgenden Datenschutzerklärung.


d'accordDatenschutzerklärung
je voudrais keinen Cookie