• Viernes 8 de Noviembre de 2024, 20:44

Autor Tema:  Programa calculo de CRC  (Leído 8606 veces)

bonethugs

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Programa calculo de CRC
« en: Lunes 24 de Agosto de 2009, 15:19 »
0
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

  • Moderador
  • ******
  • Mensajes: 4696
  • Nacionalidad: ar
    • Ver Perfil
Re: Programa calculo de CRC
« Respuesta #1 en: Lunes 24 de Agosto de 2009, 15:54 »
0
¿Llamar a la funcion calcula_crc con los parametros correspondientes (ademas de agregar un main)?

Nacional y Popular En mi país la bandera de Eva es inmortal.


Queremos una Argentina socialmente justa, económicamente libre y  políticamente soberana.
¡Perón cumple, Evita dignifica!


La mano invisible del mercado me robo la billetera.

bonethugs

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Programa calculo de CRC
« Respuesta #2 en: Lunes 24 de Agosto de 2009, 15:58 »
0
Cita de: "Eternal Idol"
¿Llamar a la funcion calcula_crc con los parametros correspondientes (ademas de agregar un main)?

Sé que le hace falta el main pero no sé como hacerlo

Luciano9

  • Miembro activo
  • **
  • Mensajes: 25
    • Ver Perfil
Re: Programa calculo de CRC
« Respuesta #3 en: Lunes 24 de Agosto de 2009, 16:11 »
0
Si no sabés hacer un main, que es lo primero de todo, qué haces buscando un código en inet?


Código: C
  1. void main ()
  2. {
  3. llamada(parametro1,parametro2);
  4. }
  5.  

bonethugs

  • Nuevo Miembro
  • *
  • Mensajes: 5
    • Ver Perfil
Re: Programa calculo de CRC
« Respuesta #4 en: Lunes 24 de Agosto de 2009, 16:14 »
0
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
  1. void main ()
  2. {
  3. llamada(parametro1,parametro2);
  4. }
  5.  

Ya pero yo no estoy buscando un main genérico. Lo que estoy buscando es un main válido para ese programa en concreto

AnimaSubtilis

  • Miembro MUY activo
  • ***
  • Mensajes: 172
  • Nacionalidad: co
    • Ver Perfil
Re: Programa calculo de CRC
« Respuesta #5 en: Lunes 24 de Agosto de 2009, 17:23 »
0
Cita de: "bonethugs"
Ya pero yo no estoy buscando un main genérico. Lo que estoy buscando es un main válido para ese programa en concreto
-_-

Empecemos con que aca no se hacen las cosas, se ayuda a comprender :P  pero si desde el comienzo no sabes donde estas te recomiendo un tutorial...

http://www.conclase.net/c/

este puede ser un buen comienzo........... :P
A menudo unas pocas horas de «prueba y ensayo» podrán ahorrarte minutos de leer manuales.
[size=150]
Dios nos Otorgo el uno y el cero....y con eso creamos un universo....[/size]

[size=109]↑°°°°ÄNÍMÄ §ÛBTÍLͧ°°°°↓[/size]