Microcontroladores PIC => Lenguaje C para microcontroladores PIC => Mensaje iniciado por: Medusa en 21 de Agosto de 2009, 14:00:04
Título: PUTC( ), PUTCHAR( ), FPUTC( ) y PRINTF( ), FPRINTF( ), cual usar?
Publicado por: Medusa en 21 de Agosto de 2009, 14:00:04
Hola, :lol: quisiera saber cual es la diferencia entre PUTC( ), PUTCHAR( ), FPUTC( ) y PRINTF( ), FPRINTF( ) y cuando se debe usar
Título: Re: PUTC( ), PUTCHAR( ), FPUTC( ) y PRINTF( ), FPRINTF( ), cual usar?
Publicado por: ppyote en 22 de Agosto de 2009, 20:52:06
todo esto esta sacado del manual del ccs,,, espero que te quede algo mas claro....
c = GETC() c = GETCH() c = GETCHAR() Estas funciones esperan un carácter por la patilla RCV del dispositivo RS232 y retorna el carácter recibido. Es preciso utilizar la directiva #USE RS232 antes de la llamada a esta función para que el compilador pueda determinar la velocidad de transmisión y la patilla utilizada. La directiva #USE RS232 permanece efectiva hasta que se encuentre otra que anule la anterior. Los procedimientos de I/O serie exigen incluir #USE DELAY para ayudar a sincronizar de forma correcta la velocidad de transmisión. Recordad que es necesario adaptar los niveles de voltaje antes de conectar el PIC a un dispositivo RS-232. Ejemplo: printf("Continuar (s,n)?"); do { respuesta=getch(); } while(respuesta!='s'&& respuesta!='n');
GETS(char *string) Esta función lee caracteres (usando GETC()) de la cadena (string) hasta que encuentra un retorno de carro(valor ASCII 13). La cadena se termina con un 0. Ejemplo: Véase la función GET_STRING en el archivo INPUT.C.
PUTC() PUTCHAR() Estas funciones envían un carácter a la patilla XMIT del dispositivo RS232. Es preciso utilizar la directiva #USE RS232 antes de la llamada a esta función para que el compilador pueda determinar la velocidad de transmisión y la patilla utilizada. La directiva #USE RS232 permanece efectiva hasta que se encuentre otra que anule la anterior. Ejemplo: if (checksum==0) putchar(ACK); else putchar(NAK); // NAK carácter de respuesta negativa
PUTS(string) Esta función envía cada carácter de string a la patilla XMIT del dispositivo RS232. Una vez concluido el envío de todos los caracteres la función envía un retorno de carro CR o RETURN (ASCII 13) y un avance de línea LF o LINE-FEED (ASCII 10). Ejemplo: puts( " ---------- " ); puts( " | HOLA |" ); puts( " ---------- " );
PRINTF([function], string, [values]) La función de impresión formateada PRINTF saca una cadena de caracteres al estándar serie RS-232 o a una función especificada. El formato está relacionado con el argumento que ponemos dentro de la cadena (string). Cuando se usan variables, string debe ser una constante. El carácter % se pone dentro de string para indicar un valor variable, seguido de uno o más caracteres que dan formato al tipo de información a representar. Si ponemos %% obtenemos a la salida un solo %. El formato tiene la forma genérica %wt, donde w es optativo y puede ser 1,2,...,9. Esto es para especificar cuántos carácteres son representados; si elegimos el formato 01,...,09 indicamos ceros a la izquierda, o también 1.1 a 9.9 para representación en punto flotante. t es el tipo de formato y puede ser uno de los siguientes: C Carácter U Entero sin signo x Entero en Hex (en minúsculas) X Entero en Hex (en mayúsculas) D Entero con signo %e Real en formato exponencial(notación científica) %f Real (Float) Lx Entero largo en Hex (en minúsculas) LX Entero largo en Hex (en mayúsculas) Lu Decimal largo sin signo Ld Decimal largo con signo % Simplemente un % Ejemplos: byte x,y,z; printf (" Hola "); printf("RTCCValue=>%2x\n\r",get_rtcc()); printf("%2u %X %4X\n\r",x,y,z); printf(LCD_PUTC, "n=%c",n);
Título: Re: PUTC( ), PUTCHAR( ), FPUTC( ) y PRINTF( ), FPRINTF( ), cual usar?
Publicado por: gera en 23 de Agosto de 2009, 01:13:27
Me gustaria acotar una cosa: getch, getchar, putch, y todas esas no son estandares de C, por lo tanto conviene usar getc() y putc() si nos interesa q nuestro programa sea portable. saludos!!!
Título: Re: PUTC( ), PUTCHAR( ), FPUTC( ) y PRINTF( ), FPRINTF( ), cual usar?
Publicado por: Medusa en 24 de Agosto de 2009, 10:43:47
Gracias por la aclaracion...
Título: Re: PUTC( ), PUTCHAR( ), FPUTC( ) y PRINTF( ), FPRINTF( ), cual usar?
Publicado por: Suky en 24 de Agosto de 2009, 12:52:10
fprintf se utiliza cuando se tiene 2 o mas lineas de comunicación, para enviar una trama indicando el stream que la identifica: