PDA

Просмотр полной версии : контрольная сумма УКТ38



rvint
17.02.2007, 12:31
Не могли бы Вы привести реализацию подсчета CRC для протокола УКТ38.Щ4 на C, C++ или подробнее описать алгоритм ее формирования, если это что-то нестандартное? Очень нужно. Спасибо.

Малышев Олег
19.02.2007, 15:37
inline BYTE rot_cycl(byte val)
{
byte v=(val & 0x80) >> 7;
return ((val<<1) | v);
}

BYTE UktTrmCRC(BYTE *buf, int buf_sz)
{
int i;
BYTE crc;
crc=0;
for(i=0;i < buf_sz; i++ ){
crc=rot_cycl(crc);
crc+=buf[i];
}
return crc;
}

rvint
19.02.2007, 16:27
Да, работает. Большое спасибо за помощь.