Programación General > C/C++
Programa calculo de CRC
			bonethugs:
			
			Hola a todos. Tengo un problema con un programa que calcula el CRC.
El programa es este:
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
void calcula_crc(unsigned longitud, BYTE *mensaje, BYTE *crc)
{
/* polinomio generador */
char polinomio[] = {1,0,0,0,0,1,0,0,0,0,0,0,1,0,0,0};
/* variables */
unsigned long resultado = -1;
char ctl;
int i,j,k;
/* bucle principal para el calculo del CRC */
for(i = 0; i < longitud; i++)
{
for(j = 0; j < 8; j++)
{
ctl = (resultado & 1) ^ ((mensaje >> j) & 1);
resultado = (resultado & ~1) >> 1;
for(k = 0; k < sizeof(polinomio); k++)
{
if(ctl && polinomio[sizeof(polinomio) - 1 - k])
resultado ^= (unsigned long) 1 << k;
}
}
}
/* pone a cero los bits del resultado no ocupados por el CRC */
for(i = sizeof(polinomio); i < sizeof(resultado) * 8; i++)
resultado |= (unsigned long) 1 << i;
/* devuelve el CRC de la secuencia */
resultado = ~resultado;
resultado >>= 16;
crc[0] = resultado & 0xff;
crc[1] = (resultado >> 8) & 0xff;
}
Lo encontré en internet pero no consigo hacerlo funcionar.
¿Alguien sabría lo que le falta para hacerlo funcionar?
Un saludo a todos y muchas gracias
		
			Eternal Idol:
			
			¿Llamar a la funcion calcula_crc con los parametros correspondientes (ademas de agregar un main)?
		
			bonethugs:
			
			
--- Cita de: "Eternal Idol" ---¿Llamar a la funcion calcula_crc con los parametros correspondientes (ademas de agregar un main)?
--- Fin de la cita ---
Sé que le hace falta el main pero no sé como hacerlo
		
			Luciano9:
			
			Si no sabés hacer un main, que es lo primero de todo, qué haces buscando un código en inet?
--- Código: C ---void main (){llamada(parametro1,parametro2);} 
		
			bonethugs:
			
			
--- Cita de: "Luciano9" ---Si no sabés hacer un main, que es lo primero de todo, qué haces buscando un código en inet?
--- Código: C ---void main (){llamada(parametro1,parametro2);} 
--- Fin de la cita ---
Ya pero yo no estoy buscando un main genérico. Lo que estoy buscando es un main válido para ese programa en concreto
		
Navegación
[#] Página Siguiente
Ir a la versión completa