кто-нить посылал пакеты в протоколе WIALON? Так и не пойму алгоритм
вычиcления CRC16. В описании есть даже пример на Си. Но это выше
моих познаний и способностей. Вот у меня в массиве OUTGSM лежит
пакет логина - #L#123456;NA; Дальше будут 4 символа CRC в хексе.
Считать надо после 2 символа # до последней ; То есть 10 символов.
Как мне вызвать ихнюю функцию такого вида - unsigned short crc16 (const void *data, unsigned data_size)
{
if (!data || !data_size)
return 0;
unsigned short crc = 0;
unsigned char* buf = (unsigned char*)data;
while (data_size--)
crc = (crc >> 8) ^ crc16_table[(unsigned char)crc ^ *buf++];
return crc;
}
таблица есть, с ней понятно.