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));