TODOPIC

Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: dan77 en 19 de Septiembre de 2011, 20:43:42

Título: Enviar '%' por puerto serial
Publicado por: dan77 en 19 de Septiembre de 2011, 20:43:42
Buenas noches, tengo un pequeño problema, necesito enviar este mensaje AT%L3%B5\J0 por el puerto serial de un pic 18f2550 para configurar la velocidad de un modem,  pero cuando compilo me da el siguiente error:

 printf variable count (%) does not match actual count ::

Si alguien pudiera ayudarme lo agradeceria mucho. Gracias
Título: Re: Enviar '%' por puerto serial
Publicado por: Suky en 19 de Septiembre de 2011, 20:46:40
Coloca puts("AT%L3%B5\J0") si es CCS o putrs("AT%L3%B5\J0") si es C18. Te marca error porque el caracter % es especial para printf, indica que tipo de variable y que formato se le quiere dar. Revisar ayuda del compilador.


Saludos!
Título: Re: Enviar '%' por puerto serial
Publicado por: BrunoF en 19 de Septiembre de 2011, 23:11:01
Hola!

Podés hacer:

printf("AT%%L3%%B5\\J0");

Saludos!
Título: Re: Enviar '%' por puerto serial
Publicado por: MGLSOFT en 19 de Septiembre de 2011, 23:15:34
Asi es dos % seguidos imprime uno...
Título: Re: Enviar '%' por puerto serial
Publicado por: Suky en 20 de Septiembre de 2011, 00:27:18
Recuerden que usar printf sin necesidad de formateo de variables ocupa más memoria innecesaria.


Saludos!
Título: Re: Enviar '%' por puerto serial
Publicado por: BrunoF en 20 de Septiembre de 2011, 00:38:32
Recuerden que usar printf sin necesidad de formateo de variables ocupa más memoria innecesaria.


Saludos!

Marcos! Nos está retando!  :D :D
Título: Re: Enviar '%' por puerto serial
Publicado por: MGLSOFT en 20 de Septiembre de 2011, 08:34:22
Tene' razon!!
Cuando tene' razon, tene' razon !! :D :D :D :D
Título: Re: Enviar '%' por puerto serial
Publicado por: Suky en 20 de Septiembre de 2011, 10:29:29
 :P  :D :D
Título: Re: Enviar '%' por puerto serial
Publicado por: MerLiNz en 20 de Septiembre de 2011, 11:43:11
creo recordar, en visual c si se ponia \% te imprimia el %, lo que no se es si este compilador tambien lo permitira
Título: Re: Enviar '%' por puerto serial
Publicado por: samshiel_pic en 20 de Septiembre de 2011, 12:18:21
Yo lo que hago para poner el % es dercile:

 printf(“dato%c“,37); 
Título: Re: Enviar '%' por puerto serial
Publicado por: MGLSOFT en 20 de Septiembre de 2011, 13:38:51
Te va a retar Suky !!!   :lol: :lol: :D :D :D
Título: Re: Enviar '%' por puerto serial
Publicado por: Suky en 20 de Septiembre de 2011, 13:44:35
 :D :D Pero que poca eficiencia!  :z) Andaaaaaaa!  :D :D
Título: Re: Enviar '%' por puerto serial
Publicado por: dan77 en 20 de Septiembre de 2011, 18:56:18
Muchas gracias por todas las respuestas voy a probar para ver que tal me va y luego les cuento... 8)
Título: Re: Enviar '%' por puerto serial
Publicado por: dan77 en 20 de Septiembre de 2011, 19:21:41
Bien todo bien :) :) probe con printf("AT%%L3%%B5\\J0"); y puts("AT%L3%B5\J0") y los dos enviaron la informacion que necesitaba... Voy a utilizar la ultima para tomar la recomendacion de Suky y ahorrar memoria... Gracias por todas sus respuestas. Saludos :) :) :)