Цитата
так или его нужно какие "финты ушами" делать при сложении CRC???
Вы и так уже 'нафинтили ушами' при 'сложении CRC'

Откуда у вас эти магические числа (0x6862/0x2667/0x001C) в параметре, где ожидается
адрес буфера? И почему параметр 'длинна' всегда 16? У вас там по 16 байтов где то лежит?
Цитата
но это алгоритм для вычисление CRC 16 одного байта.
Это код для вычисления CRC16
массива в памяти, а не одного байта
Цитата
CRC=CRC+GetCRC16(0x2667, 16);
Это в корне неправильно. Если вам надо 'накапливать' CRC, то процедуру GetCRC16 придется изменить:
Код
Word GetCRC16(byte *buf, Word len, Word crc)
{
while(len--)
{
crc = crctable[((crc>>8)^*buf++)&0xFF] ^ (crc<<8);
}
return crc;
}
Word crc=0xFFFF;
crc=GetCRC16(buf1,len1,crc);
crc=GetCRC16(buf2,len2,crc);
crc=GetCRC16(buf3,len3,crc);
crc ^= 0xFFFF;