Herunterladen Inhalt Inhalt Diese Seite drucken

Satel I-LINK 100 Handbuch Seite 14

I/o-converter
Inhaltsverzeichnis

Werbung

Der nachfolgend aufgelistete, in C geschriebene Sourcecode kann zur Berechnung des binären
Wertes für den CRC verwendet werden:
unsigned short CRC_16 (unsigned char length, unsigned char *data)
{
unsigned short crc_table[16] =
{
0x0000, 0x1081, 0x2102, 0x3183, 0x4204, 0x5285, 0x6306, 0x7387,
0x8408, 0x9489, 0xA50A, 0xB58B, 0xC60C, 0xD68D, 0xE70E, 0xF78F
};
unsigned short crc = 0xFFFF;
unsigned char tmp, index, i;
for (i = 0; i < length; i++)
{
tmp = data[i];
index = ((crc ^ tmp) & 0x000F);
crc = ((crc >> 4) & 0x0FFF) ^ crc_table[index];
tmp >>= 4;
index = ((crc ^ tmp) & 0x000F);
crc = ((crc >> 4) & 0x0FFF) ^ crc_table[index];
}
return (~crc);
}
SATEL, I-LINK100 I/O-Converter
Seite 14
Handbuch, Version 2.0

Werbung

Inhaltsverzeichnis
loading

Inhaltsverzeichnis