TODOPIC
Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: tecnico_pic 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));
-
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: