- 12V Akku mit 280 Ah bauen         
Ergebnis 1 bis 9 von 9

Thema: CRC8 Prüfsummen Berechnung

  1. #1
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1

    CRC8 Prüfsummen Berechnung

    Anzeige

    Powerstation Test
    Hat mal jemand auf die schnelle eine verständliche Erläuterung parat wie ich für 2 Bytes eine CRC8 Prüfsumme berechnen kann?
    Nach welcher Formel wird das standardmäßig berechnet?

    Und welche Prüfsumme käme dann bei den Bytes 45 und 80 raus?

    Gruß Frank

  2. #2
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Eine Seite gibt's
    http://www.semtech.com/support/crc-8_tutorial_pre.pdf
    http://www.dattalo.com/technical/software/pic/crc_8.asm
    vielleicht hilft das.
    Hier, da und sofort hab ich sonst nix anzubieten, tut mir leid
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  3. #3
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Danke, das reicht mir doch schon. Bei Bascom hab ich ja die CRC8-Funktion, also die Anwendung wäre kein Problem. Ich wollte nur sehen wie komplex der Algorithmus ist falls man es in anderen Sprachen umsetzen muss.
    Ist ja offenbar recht leicht machbar.

    Gruß Frank

  4. #4
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    Oh la la, geht's du fremd ?
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

  5. #5
    Erfahrener Benutzer Fleißiges Mitglied
    Registriert seit
    02.02.2004
    Ort
    Greifswald
    Alter
    44
    Beiträge
    102
    Ein prima Tool zum Verifizieren von CRC-Implementationen gibt es hier:

    http://www.zorc.breitbandkatze.de/crc.html

    Online-CRC-Rechner.

    Gruß,

    Jan
    Kommt hier noch jemand aus Greifswald?
    Dann könnte man ja mal ein gemeinsames Projekt starten . . .

  6. #6
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Für avr-gcc könnte ich dir auch ein paar CRC Algorithmen schicken. Einige CRC16 Routinen gibt es sogar schon als optimierten Assemblercode in der libc...

    MfG Kjion

  7. #7
    Administrator Robotik Visionär Avatar von Frank
    Registriert seit
    30.10.2003
    Beiträge
    5.116
    Blog-Einträge
    1
    Danke für weiteren Tips! Auch der Link zum Testen Verifizieren von CRC-Implementationen ist sehr gut.

    @PicNick: Nein nein, ich geht nicht fremd. Bislang hatte ich wirklich noch keine Aufgabe gefunden die nicht in Bascom zu lösen gewesen wäre. Aber falls ich irgendwo CRC-Funktionen nehme wollte ich nur sichersstellen das auch die Fan´s von GCC und anderen Sprachen nachher keine Probleme haben Funktionen von Board´s zu nutzen, die Daten eventuell mit CRC-Wert senden. Die Kompatiblität soll ja nicht sprachabhängig sein.

  8. #8
    Erfahrener Benutzer Roboter Genie
    Registriert seit
    22.11.2003
    Beiträge
    991
    Zitat Zitat von Frank
    Aber falls ich irgendwo CRC-Funktionen nehme wollte ich nur sichersstellen das auch die Fan´s von GCC und anderen Sprachen nachher keine Probleme haben Funktionen von Board´s zu nutzen, die Daten eventuell mit CRC-Wert senden. Die Kompatiblität soll ja nicht sprachabhängig sein.
    Das sollte wohl kein Problem sein. Ich wüßte nichts was man in Bascom machen kann, aber mit dem avr-gcc nicht
    Für andere Sprachen kann man die CRC Algorithmen ja schnell umschreiben.

    Hier mal ein kleines Beispiel für eine CRC8 Funktion ( X^8+X^5+X^4+1 ) die zum Beispiel in dem S.N.A.P. Protokoll verwendet wird:
    Code:
    /*
     * Berechnet die 8-Bit CRC Checksumme eines Bytes
     */
    uint8_t snap_crc8_update(uint8_t crc, uint8_t data)
    {
    	uint8_t i;
    	uint8_t temp;
    
    	for (i = 8; i > 0; i--)
    	{
    		temp = ((crc ^ data) & 0x01);
    		if (temp == 0)
    		{
    			crc >>= 1;
    		}
    		else
    		{
    			crc ^= 0x18;
    			crc >>= 1;
    			crc |= 0x80;
    		}
    		data >>= 1;
    	}
    	return crc; 
    }
    MfG Kjion

  9. #9
    Super-Moderator Robotik Visionär Avatar von PicNick
    Registriert seit
    23.11.2004
    Ort
    Wien
    Beiträge
    6.842
    @frank: Gut, wir wollen es dir glauben
    Vergiß nicht, sowohl das Polynom als auch den Startwert festzulegen
    mfg robert
    Wer glaubt zu wissen, muß wissen, er glaubt.

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •  

LiFePO4 Speicher Test