ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Вторник
25 марта
1502466
Лaгyнoв (01.03.2025 15:53, просмотров: 254)
кто-нить посылал пакеты в протоколе 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;

}



таблица есть, с ней понятно.