
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
Lesezeichen