TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: alev2477 en 26 de Julio de 2014, 20:04:08

Título: Realizar un pase de parámetros por referencia en CCS
Publicado por: alev2477 en 26 de Julio de 2014, 20:04:08
Saludos amigos

Estoy haciendo un simple código para una función gets con timeout. Todo bien excepto que me esta volviendo loco el hecho de que no me funciona el pase por referencia como lo debe hacer en C.

Me explico quiero  llamar a la función timed_gets(buffer); donde buffer es un arreglo char de 15 elementos. He intentado las diferentes combinaciones para que en la función timed_gets() modifique a buffer y no lo he conseguido.

Aquí está la función

Código: [Seleccionar]
void timed_gets(char &s){
int i =0
while(!timeout_error ){
*s[i]=timed_getc();
if(*s[i]=='\r')
break;
}  timeout_error=FALSE;
  }


Cómo debe ser el parámetro que le envíe a la función ya que no me permite en ccs hacer esto por ejemplo: timed_gets(&buffer); me da error. para hacerlo así tengo la función declarada de la siguiente manera:

Código: [Seleccionar]
void timed_gets(char *s){
while(!timeout_error ){
s[i]=timed_getc();
if(s[i]=='\r')
break;
}  timeout_error=FALSE;
 }

Si hago el llamado timed_gets(&buffer[0])  si compila pero no me modifica a buffer.

Por favor si me podrían ayudar se los agradecería, no se si CCS lo permite o es que estoy obviando algo importante.
Título: Re: Realizar un pase de parámetros por referencia en CCS
Publicado por: alev2477 en 26 de Julio de 2014, 20:43:27
AHHHH que gallo soy yo  :oops: :oops: :oops:


Amigos me da verguenza jajaja. La el pase si funciona correctamente sólo que mi función tenia un detalle garrafal, que es que nunca incremento el contador del arreglo y siempre sobre escribe en la primera direccion.

Ya lo arregle, sólo incrementando el contador i. 
 :D
Título: Re: Realizar un pase de parámetros por referencia en CCS
Publicado por: BrunoF en 27 de Julio de 2014, 01:29:57
No tiene por que dar vergüenza. Todos hemos dado vueltas en círculos aún con problemas muy sencillos. Lo importante es no darse por vencido y trabajar sistemáticamente en encontrar el error.

Saludos
Título: Re: Realizar un pase de parámetros por referencia en CCS
Publicado por: migsantiago en 27 de Julio de 2014, 11:51:53
jajaj sí, y lo mejor es que cuando uno explica el problema a alguien más es cuando el problema toma sentido y solución :P
Título: Re: Realizar un pase de parámetros por referencia en CCS
Publicado por: RedPic en 27 de Julio de 2014, 14:14:15
Muy cierto amigos, ¡cuantas veces he vivido lo mismo!

Con tan solo tener que estructurar el problema para poder expresarlo con claridad aquí en el foro me ha sido suficiente para encontrar la solución.

Es el Power-Forum que soluciona los problemas antes de plantearlos ja, ja, ja  :D :D :D  :mrgreen:
Título: Re: Realizar un pase de parámetros por referencia en CCS
Publicado por: migsantiago en 27 de Julio de 2014, 16:41:49
jajajaj

Sí, me ha pasado mucho aquí también. Cuando era moderador... borraba mis temas después de publicarlos y auto-obtener la solución jajaj Ahora me aguanto la pena.  :P