Autor Tema: Como usar sprintf con un Stream  (Leído 1760 veces)

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

Desconectado frankcr

  • PIC10
  • *
  • Mensajes: 36
Como usar sprintf con un Stream
« en: 22 de Septiembre de 2010, 17:33:29 »
Hola como estan, tengo una duda con respecto al sprintf pues lo quiero utilizar con un stream del #use rs232, pero no se si existe esa opcion, asi que si alguien la ha utilizado que me diga si es posible.... Gracias

Desconectado chrt_87

  • PIC10
  • *
  • Mensajes: 4
Re: Como usar sprintf con un Stream
« Respuesta #1 en: 22 de Septiembre de 2010, 18:31:34 »
hola frankcr:
No se puede imprimir a un stream directamente con sprintf, pero puedes hacerlo asi:
Código: C
  1. #use rs232(Force_SW,baud=57600,parity=N,xmit=PIN_B3,rcv=PIN_B2,bits=8,stream=Uart_x)
  2.  
  3. //Declaracion de variables en RAM
  4. char saludo[];
  5.  
  6.  
  7.  
  8. sprintf(saludo,%s,Hola que tal);    // Carga la string saludo con "Hola que tal"
  9. fprintf(Uart_x,"%s:",saludo);        // Imprime la string por la uart_X

espero que te esa util.
bye.



Desconectado gera

  • Colaborador
  • PIC24H
  • *****
  • Mensajes: 2188
Re: Como usar sprintf con un Stream
« Respuesta #2 en: 22 de Septiembre de 2010, 23:20:34 »
Hay que tener cuidado porque la variable "saludo" no tiene memoria reservada, y al cargarle el contenido "hola que tal" puede pisar alguna otra variable.
Conviene declararla asi:
char saludo[64];
o hacer un malloc al puntero.

saludos!!

"conozco dos cosas infinitas: el universo y la estupidez humana. Y no estoy muy seguro del primero." A.Einstein