我需要CRC16进行校验,从网上下载了一个是需要参数是string形的,我要将byte转换成String!比如获取的字节码是byte[]aa={(byte)0x55,0x06,(byte)0x0b,(byte)0x01,0x01,0x06,0x0b,0x0c,...
我需要CRC16进行校验,从网上下载了一个是需要参数是string形的,我要将byte转换成String!比如获取的字节码是
byte [] aa = {(byte)0x55,0x06,(byte)0x0b, (byte)0x01,0x01,0x06,0x0b,0x0c,0x0001,(byte)0xff};我需要转换成的字符串是“55060b0101060b0c0001ff”这种,然后生成的校验码和底层提供的校验码一致!比较急,在线等!或者提供byte数组的MOD_BUS CRC16的算法也行!
unsigned int CalcCrc(unsigned char crcbuf)
{
unsigned char i,TT;
//uint CRC = 0xffff;
crc = crc ^ crcbuf;
for(i = 0; i < 8; i ++)
{
TT = crc & 1;
crc = crc >> 1;
crc = crc & 0x7FFF;
if(TT == 1)
crc = crc ^ 0xa001;
crc = crc & 0xFFFF;
}
return(crc);
}
上述函数为计算CRC16子函数,下为应用实例:
crc = 0xFFFF;for (i=0;i
展开