Autor Tema: fletcher checksum en "c"  (Leído 4622 veces)

0 Usuarios y 1 Visitante están viendo este tema.

Desconectado tecnico_pic

  • PIC10
  • *
  • Mensajes: 2
fletcher checksum en "c"
« en: 08 de Septiembre de 2008, 21:04:11 »
 

señores despues de saludarles les escribo ya que  nesecito ayuda con un proyecto que esto tratando de hacer  en  lenguaje  pic c , como  estoy comensando con este lenguale  se me hace bastate dificil  ya que yo solo  programo  en ensamblador  y lo poco que se  de "c" es lo que  he aprendidido  con ejemplos que he visto en este foro . 
de antemano les doy las gracias por cualquie ayuda

 

 :)con que me expliques que hace  en "si"  el  siguente codigo te lo agradeceria enormemente.


la cuestion es que tengo que enviar por en puerto serial a 19600 bps  una cadena de
30 byte y a esta cadena  calcularle el  " fletcher checksum"

ejemplo:
            00 00 00 00 00 00 00 00 00 00 00 00... bc cd
            ---------dato cadena 30 byte-------   
 

pero tengo la rutina el lenguaje c normal

si pudieras  traducirlo a pic c  o por lo menos  explicar que dice  para yo tratar de hacer una rutina similar
 

saludos  dsde  isla de margarita  venezuela  johan mata alvarez
                                                tecnico_pic





;//////////////////////////////////////////////

//fletcher checksum

;/////////////////////////////////////////////


/*

 * operator fletcher_encode

 */

 fletcher_encode (buffer,count)

 unsigned char* buffer;

 long     count;

 {

  int i;

  unsigned char c0 = 0;

  unsigned char c1 = 0;

  *(buffer + count - 1) = 0;

  *(buffer + count - 2) = 0;

  for ( i=0; i< count;i++)

 {
     
    c0 = c0 + *(buffer + i);
    c1 = c1 + c0 ;

}

*(buffer + count - 2 = c0 - c1 ;
*(buffer + count - 1 = c1 - 2*c0 ;
}

/*

* operator fletcher_decode

*/

long fletcher_decode (buffer,count )

unsigned char* buffer;
long     count;

{

long result= 0;
 int i;
  unsigned char c0=0;
  unsigned char c1=0;


 for(i= 0 ; i < count;i++)

{

    c0= c0 + *(buffer + i);

    c1= c1 + c0 ;

}

return ( (long) ( c0 + c1));




Desconectado firepic

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 1130
    • JC Servicios
Re: fletcher checksum en "c"
« Respuesta #1 en: 08 de Septiembre de 2008, 23:41:11 »
Qué tal paisano!
Bueno no sé mucho de C para PC, aunque mucha gente aquí sí. Si quieres tienes la opción de mover el tema al subforo "Lenguajes para PC y sus variantes"... alli hay mucha gente que te puede dar una mano con esto... o esperas un tiempito más hasta que alguien se pase por aquí y pueda ayudarte.
También podrías colocar la descripción de lo que es en sí el "fletcher checksum"... estuve buscando en la web pero no conseguí mucha información en español... si tienes algo puedes publicarlo y así es más fácil ayudarte con la programación.
Te deseo éxito, un cordial saludo!  :mrgreen:
"Por la presunción solo se ocasiona una lucha, pero con los que consultan juntos hay sabiduría" (Proverbios 13:10).
Visita Mi Sitio Web


 

anything