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