Autor Tema: FLETCHER CHECKSUM CON PIC C  (Leído 2143 veces)

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

Desconectado tecnico_pic

  • PIC10
  • *
  • Mensajes: 2
FLETCHER CHECKSUM CON PIC C
« en: 07 de Septiembre de 2008, 10:36:45 »
 :?


 

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-------   fletcher checksum
 

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 CON PIC C
« Respuesta #1 en: 08 de Septiembre de 2008, 15:15:43 »
Qué tal paisano!
Me alegra mucho que más gente de mi tierra esté en el mundo de los micros!  :-/
Lamento no poder ayudarte por ahora, programo en C para micros pero hasta ahora no he programado en C para PC. Si ese ejemplo es para PC y lo que quieres es entender lo que hace, te recomiendo que muevas este hilo al subforo de lenguaje C para PC... allí hay más gente experta que te pueda ayudar... aunque no dudo que si lo dejas aquí alguien experto te ayude... pero allá tienes más probabilidad... en fin, es sólo una sugerencia.
Ok viejo, saludos!  :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