求CRC16-CCITT的C#校验算法,最好简单易懂点,根据 06 23 00 FA 00 00 11 22得出的CRC校验码为6F08C#算法CRC

解决方案 »

  1.   

    http://blog.csdn.net/jhqin/article/details/6973292
      

  2.   

            private void GetCRC(byte[] message, ref byte[] crc)
            {
                //Function expects a modbus message of any length as well as a 2 byte CRC array in which to 
                //return the CRC values:            ushort crcFull = 0xFFFF;            for (int i = 0; i < (message.Length) - 2; i++)
                {
                    crcFull = (ushort)(crcFull ^ message[i]);                for (int j = 0; j < 8; j++)
                    {
                        char crclsb = (char)(crcFull & 0x0001);
                        crcFull = (ushort)((crcFull >> 1) & 0x7FFF);                    if (crclsb == 1)
                            crcFull = (ushort)(crcFull ^ 0xA001);
                    }
                }
                crc[1] = (byte)((crcFull >> 8) & 0xFF);
                crc[0] = (byte)(crcFull & 0xFF);
            }