[an error occurred while processing this directive]
|
unsigned crc16(char *string,char length)
{
const unsigned Polinom = 0xA001;
unsigned char flag,i,j;
union for_reorder{
сhar reorder[2];
unsigned accumulator;
}un_order,order;
un_order.accumulator=0xffff;
E-mail:
info@telesys.ru
for (i=0;i
for (j=0;j<8;j++){
flag=un_order.accumulator&0x01;
un_order.accumulator>>=1;
if (flag) un_order.accumulator^=Polinom;
}
}
order.reorder[0]=un_order.reorder[1];
order.reorder[1]=un_order.reorder[0];
return order.accumulator;
}
Ответы