Download Inhoudsopgave Inhoud Print deze pagina
Inhoudsopgave

Advertenties

OmniSTAR 8300HP gebruikershandleiding

32-Bit CRC

De OmniSTAR log berichtformaten bevatten allemaal een 32-bit CRC ter
verificatie van de data. Hierdoor kan met een grote mate van zekerheid
worden aangenomen, dat de uitgezonden en ontvangen vrij van fouten is.
Deze CRC kan met behulp van het volgende C algoritme worden gegenereerd:
#define CRC32_POLYNOMIAL 0xEDB88320L
/* --------------------------------------------------------------------------
Calculate a CRC value to be used by CRC calculation functions.
-------------------------------------------------------------------------- */
unsigned long CRC32Value(int i)
{
int j;
unsigned long ulCRC;
ulCRC = i;
for ( j = 8 ; j > 0; j-- )
{
als ( ulCRC & 1 )
ulCRC = ( ulCRC >> 1 ) ^ CRC32_POLYNOMIAL;
else
ulCRC >>= 1;
}
return ulCRC;
}
/* --------------------------------------------------------------------------
Calculates the CRC-32 of a block of data all at once
-------------------------------------------------------------------------- */
unsigned long CalculateBlockCRC32(
unsigned long ulCount, /* Number of bytes in the data block */
unsigned char *ucBuffer ) /* Data block */
{
Versie 1.3 NL, 11/03
55

Advertenties

Inhoudsopgave
loading

Inhoudsopgave