//生成crc校验码
private ushort Fun_CRC16(byte[] data, ushort length)
{
ushort reg_crc;
ushort s_crcchk;
s_crcchk = 0;
reg_crc = 0xFFFF;
int i = 0;
while ((length--) > 0)
{
reg_crc ^= data[i++];
for (s_crcchk = 0; s_crcchk < 8; s_crcchk++)
{
if ((reg_crc & 0x01) > 0)
{
reg_crc = (ushort)((reg_crc >> 1) ^ 0xa001);
}
else
{
reg_crc = (ushort)(reg_crc >> 1);
}
}
}
return reg_crc;
}
private ushort Fun_CRC16(byte[] data, ushort length)
{
ushort reg_crc;
ushort s_crcchk;
s_crcchk = 0;
reg_crc = 0xFFFF;
int i = 0;
while ((length--) > 0)
{
reg_crc ^= data[i++];
for (s_crcchk = 0; s_crcchk < 8; s_crcchk++)
{
if ((reg_crc & 0x01) > 0)
{
reg_crc = (ushort)((reg_crc >> 1) ^ 0xa001);
}
else
{
reg_crc = (ushort)(reg_crc >> 1);
}
}
}
return reg_crc;
}