Example #1
0
        /// <summary>
        /// Método para realizar a validação do CRC
        /// </summary>
        /// <param name="arrayBytes">Array de bytes contendo o(s) elemento(s) que se deseja calcular o CRC</param>
        /// <param name="posicaoInicial">Posicao inicial que se encontra o(s) elemento(s) para calculo do CRC</param>
        /// <param name="numeroElementos">Quantidade de elementos para entrar no calculo do CRC</param>
        /// <returns>Calculo do CRC</returns>
        public static ushort Calcular(byte[] buffer, int posicaoInicial, int numeroElementos)
        {
            CRC16CCITT instancia = new CRC16CCITT();
            ushort     crc       = 0xFFFF;

            ushort valor;

            for (int i = posicaoInicial; i < (posicaoInicial + numeroElementos); i++)
            {
                valor = buffer[i];
                crc   = instancia.ByteCRC(valor, crc);
            }

            return(crc);
        }