SlideShare una empresa de Scribd logo
1 de 4
Descargar para leer sin conexión
Programación PIC en C - Funciones de Entrada/Salida serie RS232. Función printf()                                                  Page 1 of 4




  Inicio        Contactar       Acerca de ..       Foros         Blog




                                        Inicio    Programación PIC en C
            Menú Principal
                                         Programación PIC en C - Funciones de Entrada/Salida serie RS232. Función printf()
       Inicio                            Escrito por biblioman

       Registrarse                       Página 8 de 18
                                         Volver al índice
       Enlaces Web
                                         Aunque no hemos visto el tema de las funciones todavía, pero ya que estamos utilizando esta función
       Foros
                                         muy a menudo, vamos a ver alguna de las posibilidades que nos ofrece. El que tenga conocimientos del
       Sitemap                           lenguaje C sabrá que para utilizar esta función que pertenece al estándar ANSI de C hay que incluir
                                         previamente el archivo de cabecera #include <stdio.h>, pero esto con el compilador PCW de CCS no
                                         funciona, en este compilador esta función está definida en la directiva:

                                         #use RS232(BAUD=9600,BITS=8,PARITY=N,XMIT=PIN_B1,RCV=PIN_B2)

                                         Esto quiere decir que cada vez que queramos utilizar la función printf tenemos que haber incluido
                                         previamente esta directiva, que posibilita la comunicación del PIC con otro dispositivo utilizando el
                                         protocolo de comunicación serie RS232, además de la función printf esta directiva permite el uso de otras
                                         funciones para la entrada y salida de datos serie como: getc, getchar, gets, puts y kbhit que iremos
                                         viendo poco a poco, pero la más importante para la salida de datos sin duda es printf, porque nos permite
                                         formatear la salida de esos datos de la forma que nosotros queramos.

                                         Como vemos la directiva #use RS232 admite una serie de parámetros que son los que van entre
                                         paréntesis separados por comas, estos son los siguientes:


                                          • BAUD con este parámetro establecemos la velocidad en baudios a la que queremos que se
                                            transmitan los datos por el puerto serie, 9600 es lo normal.
           Últimos Tutoriales
                                          • BITS número de bits que utilizaremos en la transmisión, el estándar establece que pueden ser 8 ó
       Índice Programación                  9, para la comunicación con microcontroladores con 8 son suficientes.
       PIC en C                           • PARITY nos permite utilizar un bit de paridad para la comprobación de errores, está opción la
                                            dejamos a No.
       Índice prácticas PIC C
                                          • XMIT está opción nos configura porque patilla del PIC saldrán los datos, está opción junto con la
       Curso PIC32
                                            siguiente sí que la tendremos que cambiar a nuestras necesidades.
       SDCC (Small Device
       C Compiler) en                     • RCV nos configura porque patilla del PIC se recibirán los datos. En el ejemplo, los datos se
                                            transmiten por el PIN RB1 y se reciben por RB2.
       Windows

       Actualizar a Ubuntu
       9.10 (Karmic Koala)               La forma de hacer la llamada a la función printf es la siguiente:

       Programación de                   printf(Nombre Función, Cadena de caracteres , valores);
       Microcontroladores
       PIC en C con Ubuntu               Como vemos la función printf también admite parámetros que podremos utilizar para formatear el texto
       utilizando el ICD2                de salida. Vamos a ver cuáles son:

       Particiones y sistemas
                                         El primero es opcional y es el nombre de una función, si no lo ponemos los datos se transmitirán vía
       de archivos en Linux
                                         RS232 a través de los pines que hayamos configurado en la directiva #use RS232.
       Algunas razones para              El segundo parámetro es una cadena de caracteres encerrada entre comillas dobles.
       probar Ubuntu                     Y el tercero son datos o nombres de variables cuyo valor queremos que se muestren. Vamos a ver todo
                                         esto con ejemplos que es como mejor se ven las cosas:
       Instalación de Ubuntu
       9.04 paso a paso
                                         1º Ejemplo:
       Compilador PCW CCS

       Compiladores C para               #include <16F877.h>
       PIC                               #use delay(clock=4000000)
                                         #include <LCD.C>
       Programación PIC en
                                         #use RS232(BAUD=9600,BITS=8,PARITY=N,XMIT=PIN_B1,RCV=PIN_B2)
       C
                                         void main()
       X - 10                            {
                                         int i1=9;
       Comandos Unix/Linux               lcd_init(); //función de inicialización del LCD
       Autómatas                         //Mostramos una cadena en la terminal
       Secuenciales Finitos              printf("Esto es una cadenar");

       CAD Electrónico                   //Mostramos una cadena de texto junto con el valor de una variable
                                         //en la terminal.
       Arduino y el
                                         printf("El valor de la variable i1 es: %d",i1);
       controlador LCD serie

                                         //Mostramos el valor de la variable por el LCD
                                         printf (lcd_putc,"El valor de i1 es: %d",i1);




http://www.aquihayapuntes.com/programacion-pic-en-c.html?start=7                                                                   14/08/2012
Programación PIC en C - Funciones de Entrada/Salida serie RS232. Función printf()                                                      Page 2 of 4



                 Chat
                                           }
                                       5
                  11 ago 12, 18:27
     Ann:                                  Comentario:
                  11 ago 12, 18:26
     Ann: ia buske XD                      En este primer ejemplo vamos a ver el uso de la función printf utilizando diferentes parámetros. Como
                  11 ago 12, 10:31
                                           vamos a utilizar la librería que incluye el compilador para el manejo de un LCD tenemos que incluir la
     xor: Busca en el foro..
                                           directiva:
                  10 ago 12, 19:38
     Ann: kk?
                  10 ago 12, 18:45         #include <LCD.C>
     Ann: Como puedo
     programar en C para
     circuito con RF?                      Declaramos una variable i1 de tipo entero que nos va a servir para mostrar su valor en la terminal y en un
                  10 ago 12, 17:16         LCD.
     frentzen2@ig.com.br:                  Cuando utilicemos la librería LCD.C y antes de utilizar cualquier otra función incluida en la librería tenemos
     salsa2
                                           que llamar a la siguiente función que sirve para inicializar el LCD.
                   1 ago 12, 01:56
     logix0000: hola algien me
     puede ayudar con un                   lcd_init();
     programa
                    29 jul 12, 11:02
     Biblioman: CCS también                En la primera llamada a la función printf como parámetros solo incluimos una cadena de caracteres
     tiene una versión para                constante que termina en (r), esa barra invertida junto con la r se le llama secuencia de escape y le está
     LInux aunque sin IDE..       6
                                           diciendo al compilador que al final de la cadena introduzca un retorno de carro (tecla enter). Las
     [Get a Cbox]        actualizar
                                           secuencias de escape se utilizan para representar caracteres o acciones especiales.
      nombre
      mensaje                    ok        printf("Esto es una cadenar");
         ayuda · emoticonos · cbox
                                           En la tabla de abajo se muestran las secuencias de escape que tenemos disponibles para utilizar con la
          Siguenos en ...                  función printf:

                                           r   Retorno de carro
                                           t   Tabulador
                                           '   Comilla simple
                                           "   Comillas dobles
                                              Barra invertida
                                           ?   Símbolo de interrogación
                Licencia
                                           0   Caracter nulo
                                           %   Símbolo Tanto por ciento
                                           b   Retroceder un caracter
    Todo el contenido de
    este sitio está bajo una               Vamos con la segunda llamada a la función:
    licencia de Creative
    Commons                                printf("El valor de la variable i1 es: %d",i1);

                                           En este caso tampoco está definido el primer parámetro, por tanto, al igual que en la primera llamada a la
                                           función, los datos se enviaran por el puerto serie al pin que hayamos definido en la directiva #use RS232,
                                           en esta llamada vemos que tenemos la cadena de caracteres limitada por las comillas dobles y separado
                                           por una coma, como tercer parámetro el nombre de la variable i1 que habíamos declarado previamente.
                                           En la cadena de caracteres vemos que aparece el carácter de % seguido de la letra d, ese es un carácter
                                           especial para la función y lo que le indica a la función es que en esa posición muestre el valor de la
                                           variable i1, la d le indica a la función que represente ese valor en formato de número entero. Podemos
                                           representar el valor de la variable en diferentes formatos según se muestra en la tabla de abajo:

                                           c       Caracter
                                           s       Cadena ó caracter
                                           u       Entero sin signo
                                           d       Entero con signo
                                           Lu      Entero largo sin signo
                                           Ld      Entero largo con signo
                                           x       Entero Hexadecimal (minúsculas)
                                           X       Entero Hexadecimal (mayúsculas)
                                           Lx      Entero largo Hexadecimal (minúsculas)
                                           LX      Entero largo Hexadecimal (mayúsculas)
                                           f       Número real en coma flotante con truncado
                                           g       Número real en coma flotante con redondeo
                                           e       Número real en formato exponencial
                                                   Entero sin signo con decimales insertados.
                                           w       Especifica dos números para n. La 1ª cifra
                                                   indica el total y la 2ª el número de decimales

                                           Si quisiésemos mostrar el valor de más de una variable lo haríamos de la siguiente forma:

                                           printf("El valor i1 es: %d el de i2: %d y el de i3: %d",i1,i2,i3);

                                           Vamos con la última llamada a la función del 1º ejemplo:

                                           printf (lcd_putc,"El valor de i1 es: %d",i1);




http://www.aquihayapuntes.com/programacion-pic-en-c.html?start=7                                                                       14/08/2012
Programación PIC en C - Funciones de Entrada/Salida serie RS232. Función printf()                                   Page 3 of 4



                         En esta llamada hemos incluido el primer parámetro y hemos puesto el nombre de la función lcd_putc,
                         está función está definida en la librería LCD.C que trae el compilador para ayuda del manejo de los
                         dispositivos LCD y que hemos incluido en nuestro programa por medio de la directiva #include <lcd.c>,
                         vemos que la librería está encerrada entre los símbolos de <> esto le indica al compilador que busque la
                         librería en el directorio en que se instalo el compilador, si copiáramos esa librería en otro directorio
                         tendríamos que indicarle la ruta completa, pero esta vez encerrada entre comillas dobles.


                         Ejemplo:

                         #include “C:Ejemplos de Clcd.c”

                         Pues bien ahora la función printf no enviará los datos al puerto serie, sino a la función lcd_puct que será
                         la encargada de enviárselos al LCD, esta función por defecto envía los datos al puerto D del PIC, pero
                         accediendo a la librería se puede modificar el puerto fácilmente.

                         Aquí tenéis un video demostrativo del ejemplo:




                         2º Ejemplo




                         Salida del programa:




http://www.aquihayapuntes.com/programacion-pic-en-c.html?start=7                                                    14/08/2012
Programación PIC en C - Funciones de Entrada/Salida serie RS232. Función printf()                                  Page 4 of 4




                         Comentario del programa:

                          • El especificador de formato %x indica al sistema que escriba en hexadecimal (base 16) el valor
                            sustituido.

                          • El ejemplo también escribe el carácter 'A', apoyándose en cuatro formas distintas de
                            representaciones iníciales. En todos los casos se almacenará el mismo valor numérico, pero son
                            diferentes las representaciones usadas.
                          • El carácter (A) sale en la terminal en una línea diferente cada vez que se imprime, eso es debido a
                            la secuencia de escape (r) utilizada.

                          • Observar que el ejemplo se ha hecho sobre el PIC 16f84 que no dispone de una USART hardware
                            para la comunicación serie , pero sin embargo el programa se ha ejecutado correctamente, eso es
                            debido a que la comunicación serie se ha establecido por software por medio de las librerías
                            implementadas en el compilador PCW.


                         Volver al índice


                         << Inicio < Prev 1 2 3 4 5 6 7 8 9 10 Próximo > Fin >>


                         Última actualización el Viernes, 12 de Marzo de 2010 21:26




                                                     © 2007-2012 AquiHayapuntes.com




http://www.aquihayapuntes.com/programacion-pic-en-c.html?start=7                                                   14/08/2012

Más contenido relacionado

La actualidad más candente

Lenguaje ensamblador del microprocesador
Lenguaje ensamblador del microprocesadorLenguaje ensamblador del microprocesador
Lenguaje ensamblador del microprocesadorsmfch
 
Picprimerospasos
PicprimerospasosPicprimerospasos
PicprimerospasosMicroPart
 
Clase 02 gestion de puertos - directivas
Clase 02   gestion de puertos - directivasClase 02   gestion de puertos - directivas
Clase 02 gestion de puertos - directivasalmidon_pcb
 
Programacion en WinCupl
Programacion en WinCuplProgramacion en WinCupl
Programacion en WinCuplGilbert_28
 
Dispositivo logico programable
Dispositivo logico programableDispositivo logico programable
Dispositivo logico programablepancho_55
 
Debug PaulinaChacon
Debug PaulinaChaconDebug PaulinaChacon
Debug PaulinaChaconPau22
 
Lenguaje de programacion_c(2)
Lenguaje de programacion_c(2)Lenguaje de programacion_c(2)
Lenguaje de programacion_c(2)gadiel1515
 
Introduccion al-lenguaje-c
Introduccion al-lenguaje-cIntroduccion al-lenguaje-c
Introduccion al-lenguaje-cDalva Icaza
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...Victor Asanza
 
Utp pti_s1_introduccion al lenguaje c
 Utp pti_s1_introduccion al lenguaje c Utp pti_s1_introduccion al lenguaje c
Utp pti_s1_introduccion al lenguaje cjcbenitezp
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensambladorDeisyVilchez
 

La actualidad más candente (20)

U2 practica 5
U2 practica 5U2 practica 5
U2 practica 5
 
Lenguaje ensamblador del microprocesador
Lenguaje ensamblador del microprocesadorLenguaje ensamblador del microprocesador
Lenguaje ensamblador del microprocesador
 
Intro Mpi
Intro MpiIntro Mpi
Intro Mpi
 
Picprimerospasos
PicprimerospasosPicprimerospasos
Picprimerospasos
 
Programacion c microcontroladores
Programacion c microcontroladoresProgramacion c microcontroladores
Programacion c microcontroladores
 
Pic libre
Pic librePic libre
Pic libre
 
Clase 02 gestion de puertos - directivas
Clase 02   gestion de puertos - directivasClase 02   gestion de puertos - directivas
Clase 02 gestion de puertos - directivas
 
Programacion en WinCupl
Programacion en WinCuplProgramacion en WinCupl
Programacion en WinCupl
 
Borland c
Borland  cBorland  c
Borland c
 
Dispositivo logico programable
Dispositivo logico programableDispositivo logico programable
Dispositivo logico programable
 
Debug PaulinaChacon
Debug PaulinaChaconDebug PaulinaChacon
Debug PaulinaChacon
 
El datagrama ip
El datagrama ipEl datagrama ip
El datagrama ip
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
Lenguaje de programacion_c(2)
Lenguaje de programacion_c(2)Lenguaje de programacion_c(2)
Lenguaje de programacion_c(2)
 
Introduccion al-lenguaje-c
Introduccion al-lenguaje-cIntroduccion al-lenguaje-c
Introduccion al-lenguaje-c
 
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
⭐⭐⭐⭐⭐ DISEÑO DE SISTEMAS DIGITALES, TALLER RESUELTO 1ra EVALUACIÓN (2019 2do ...
 
Utp pti_s1_introduccion al lenguaje c
 Utp pti_s1_introduccion al lenguaje c Utp pti_s1_introduccion al lenguaje c
Utp pti_s1_introduccion al lenguaje c
 
Servicios de comunicaciones (i)
Servicios de comunicaciones (i)Servicios de comunicaciones (i)
Servicios de comunicaciones (i)
 
Plds
PldsPlds
Plds
 
Lenguaje ensamblador
Lenguaje ensambladorLenguaje ensamblador
Lenguaje ensamblador
 

Destacado

Ud1 6 fundamentos_lenguaje_c_pic
Ud1 6 fundamentos_lenguaje_c_picUd1 6 fundamentos_lenguaje_c_pic
Ud1 6 fundamentos_lenguaje_c_picarnadillo
 
Introduccion a microcontroladores
Introduccion a microcontroladoresIntroduccion a microcontroladores
Introduccion a microcontroladorestecautind
 
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Franz Amaya
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxfreddymadriz
 
Programacion de microcontroladores
Programacion de microcontroladoresProgramacion de microcontroladores
Programacion de microcontroladoresayreonmx
 

Destacado (9)

Ud1 6 fundamentos_lenguaje_c_pic
Ud1 6 fundamentos_lenguaje_c_picUd1 6 fundamentos_lenguaje_c_pic
Ud1 6 fundamentos_lenguaje_c_pic
 
Aprendiendo Lenguaje C
Aprendiendo Lenguaje CAprendiendo Lenguaje C
Aprendiendo Lenguaje C
 
Microcontroladores PIC USS
Microcontroladores PIC  USSMicrocontroladores PIC  USS
Microcontroladores PIC USS
 
Introduccion a microcontroladores
Introduccion a microcontroladoresIntroduccion a microcontroladores
Introduccion a microcontroladores
 
Fundamentos de los Microcontroladores
Fundamentos de los MicrocontroladoresFundamentos de los Microcontroladores
Fundamentos de los Microcontroladores
 
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
Curso de lenguaje c para microcontroladores pic dia 1(2)(2)(2)(2)(2)(2)
 
Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550Curso de microcontroladores pic18 f4550
Curso de microcontroladores pic18 f4550
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Programacion de microcontroladores
Programacion de microcontroladoresProgramacion de microcontroladores
Programacion de microcontroladores
 

Similar a Dudas printf()

Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553RoxanneLamas2
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxJose Manuel Mansilla Carrasco
 
Introduccion a la programacion en c 1
Introduccion a la programacion en c 1Introduccion a la programacion en c 1
Introduccion a la programacion en c 1georgemanson69
 
PROGRAMACIÓN DE MICROCONTROLADOR
PROGRAMACIÓN DE MICROCONTROLADORPROGRAMACIÓN DE MICROCONTROLADOR
PROGRAMACIÓN DE MICROCONTROLADORAlcira Gonzales
 
Conociendo los Lenguajes de Programacion
Conociendo los Lenguajes de ProgramacionConociendo los Lenguajes de Programacion
Conociendo los Lenguajes de Programacionsandra gutierrez
 
38912287 practica1
38912287 practica138912287 practica1
38912287 practica1rexmersxa7
 
Programación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadoraProgramación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadoraLenin Jiménez
 
"Hola Mundo" C18, PIC18F y MPLAB
"Hola Mundo"  C18,  PIC18F y MPLAB"Hola Mundo"  C18,  PIC18F y MPLAB
"Hola Mundo" C18, PIC18F y MPLABBlackD10
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84guestf09168b
 
Introducción a la programacion Pic16F84
Introducción a la programacion Pic16F84Introducción a la programacion Pic16F84
Introducción a la programacion Pic16F84Daniel Remondegui
 
El AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteEl AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteJose Alva
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Hamiltonn Casallas
 
Mikrotik RouterOs basics v0.3
Mikrotik RouterOs basics v0.3Mikrotik RouterOs basics v0.3
Mikrotik RouterOs basics v0.3Rod Hinojosa
 
Tutorial acerca del uso del sistema de calificacion
Tutorial acerca del uso del sistema de calificacionTutorial acerca del uso del sistema de calificacion
Tutorial acerca del uso del sistema de calificacionacmchaptercusco
 

Similar a Dudas printf() (20)

Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553Dialnet programando microcontroladorespicenlenguajec-4587553
Dialnet programando microcontroladorespicenlenguajec-4587553
 
Curso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xxCurso de programacion en c++ para microcontroladores pic 16 f87xx
Curso de programacion en c++ para microcontroladores pic 16 f87xx
 
Introduccion a la programacion en c 1
Introduccion a la programacion en c 1Introduccion a la programacion en c 1
Introduccion a la programacion en c 1
 
PROGRAMACIÓN DE MICROCONTROLADOR
PROGRAMACIÓN DE MICROCONTROLADORPROGRAMACIÓN DE MICROCONTROLADOR
PROGRAMACIÓN DE MICROCONTROLADOR
 
Conociendo los Lenguajes de Programacion
Conociendo los Lenguajes de ProgramacionConociendo los Lenguajes de Programacion
Conociendo los Lenguajes de Programacion
 
38912287 practica1
38912287 practica138912287 practica1
38912287 practica1
 
Practica1
Practica1Practica1
Practica1
 
Practica1
Practica1Practica1
Practica1
 
Programación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadoraProgramación en PLC Xinje - banda transportadora
Programación en PLC Xinje - banda transportadora
 
"Hola Mundo" C18, PIC18F y MPLAB
"Hola Mundo"  C18,  PIC18F y MPLAB"Hola Mundo"  C18,  PIC18F y MPLAB
"Hola Mundo" C18, PIC18F y MPLAB
 
Pic16f84(1)
Pic16f84(1)Pic16f84(1)
Pic16f84(1)
 
programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84programacion con microcontrolador pic 16f84
programacion con microcontrolador pic 16f84
 
Introducción a la programacion Pic16F84
Introducción a la programacion Pic16F84Introducción a la programacion Pic16F84
Introducción a la programacion Pic16F84
 
El AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelenteEl AT mega8 es un microcontrolador excelente
El AT mega8 es un microcontrolador excelente
 
SBC semana01
SBC semana01SBC semana01
SBC semana01
 
Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03Curso de microcontroladores capitulo 03
Curso de microcontroladores capitulo 03
 
Libro basico pic
Libro basico picLibro basico pic
Libro basico pic
 
Ec2
Ec2Ec2
Ec2
 
Mikrotik RouterOs basics v0.3
Mikrotik RouterOs basics v0.3Mikrotik RouterOs basics v0.3
Mikrotik RouterOs basics v0.3
 
Tutorial acerca del uso del sistema de calificacion
Tutorial acerca del uso del sistema de calificacionTutorial acerca del uso del sistema de calificacion
Tutorial acerca del uso del sistema de calificacion
 

Último

Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPELaura Chacón
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALEDUCCUniversidadCatl
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFAROJosé Luis Palma
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxAna Fernandez
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...JAVIER SOLIS NOYOLA
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfsamyarrocha1
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIACarlos Campaña Montenegro
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfDannyTola1
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIAAbelardoVelaAlbrecht1
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para eventoDiegoMtsS
 

Último (20)

Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Plan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPEPlan Año Escolar Año Escolar 2023-2024. MPPE
Plan Año Escolar Año Escolar 2023-2024. MPPE
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMALVOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
VOLUMEN 1 COLECCION PRODUCCION BOVINA . SERIE SANIDAD ANIMAL
 
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARONARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
NARRACIONES SOBRE LA VIDA DEL GENERAL ELOY ALFARO
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
RETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docxRETO MES DE ABRIL .............................docx
RETO MES DE ABRIL .............................docx
 
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
LA ECUACIÓN DEL NÚMERO PI EN LOS JUEGOS OLÍMPICOS DE PARÍS. Por JAVIER SOLIS ...
 
Repaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia GeneralRepaso Pruebas CRECE PR 2024. Ciencia General
Repaso Pruebas CRECE PR 2024. Ciencia General
 
Fundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdfFundamentos y Principios de Psicopedagogía..pdf
Fundamentos y Principios de Psicopedagogía..pdf
 
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIARAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
RAIZ CUADRADA Y CUBICA PARA NIÑOS DE PRIMARIA
 
TEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdfTEST DE RAVEN es un test conocido para la personalidad.pdf
TEST DE RAVEN es un test conocido para la personalidad.pdf
 
Sesión La luz brilla en la oscuridad.pdf
Sesión  La luz brilla en la oscuridad.pdfSesión  La luz brilla en la oscuridad.pdf
Sesión La luz brilla en la oscuridad.pdf
 
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIATRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
TRIPTICO-SISTEMA-MUSCULAR. PARA NIÑOS DE PRIMARIA
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
programa dia de las madres 10 de mayo para evento
programa dia de las madres 10 de mayo  para eventoprograma dia de las madres 10 de mayo  para evento
programa dia de las madres 10 de mayo para evento
 

Dudas printf()

  • 1. Programación PIC en C - Funciones de Entrada/Salida serie RS232. Función printf() Page 1 of 4 Inicio Contactar Acerca de .. Foros Blog Inicio Programación PIC en C Menú Principal Programación PIC en C - Funciones de Entrada/Salida serie RS232. Función printf() Inicio Escrito por biblioman Registrarse Página 8 de 18 Volver al índice Enlaces Web Aunque no hemos visto el tema de las funciones todavía, pero ya que estamos utilizando esta función Foros muy a menudo, vamos a ver alguna de las posibilidades que nos ofrece. El que tenga conocimientos del Sitemap lenguaje C sabrá que para utilizar esta función que pertenece al estándar ANSI de C hay que incluir previamente el archivo de cabecera #include <stdio.h>, pero esto con el compilador PCW de CCS no funciona, en este compilador esta función está definida en la directiva: #use RS232(BAUD=9600,BITS=8,PARITY=N,XMIT=PIN_B1,RCV=PIN_B2) Esto quiere decir que cada vez que queramos utilizar la función printf tenemos que haber incluido previamente esta directiva, que posibilita la comunicación del PIC con otro dispositivo utilizando el protocolo de comunicación serie RS232, además de la función printf esta directiva permite el uso de otras funciones para la entrada y salida de datos serie como: getc, getchar, gets, puts y kbhit que iremos viendo poco a poco, pero la más importante para la salida de datos sin duda es printf, porque nos permite formatear la salida de esos datos de la forma que nosotros queramos. Como vemos la directiva #use RS232 admite una serie de parámetros que son los que van entre paréntesis separados por comas, estos son los siguientes: • BAUD con este parámetro establecemos la velocidad en baudios a la que queremos que se transmitan los datos por el puerto serie, 9600 es lo normal. Últimos Tutoriales • BITS número de bits que utilizaremos en la transmisión, el estándar establece que pueden ser 8 ó Índice Programación 9, para la comunicación con microcontroladores con 8 son suficientes. PIC en C • PARITY nos permite utilizar un bit de paridad para la comprobación de errores, está opción la dejamos a No. Índice prácticas PIC C • XMIT está opción nos configura porque patilla del PIC saldrán los datos, está opción junto con la Curso PIC32 siguiente sí que la tendremos que cambiar a nuestras necesidades. SDCC (Small Device C Compiler) en • RCV nos configura porque patilla del PIC se recibirán los datos. En el ejemplo, los datos se transmiten por el PIN RB1 y se reciben por RB2. Windows Actualizar a Ubuntu 9.10 (Karmic Koala) La forma de hacer la llamada a la función printf es la siguiente: Programación de printf(Nombre Función, Cadena de caracteres , valores); Microcontroladores PIC en C con Ubuntu Como vemos la función printf también admite parámetros que podremos utilizar para formatear el texto utilizando el ICD2 de salida. Vamos a ver cuáles son: Particiones y sistemas El primero es opcional y es el nombre de una función, si no lo ponemos los datos se transmitirán vía de archivos en Linux RS232 a través de los pines que hayamos configurado en la directiva #use RS232. Algunas razones para El segundo parámetro es una cadena de caracteres encerrada entre comillas dobles. probar Ubuntu Y el tercero son datos o nombres de variables cuyo valor queremos que se muestren. Vamos a ver todo esto con ejemplos que es como mejor se ven las cosas: Instalación de Ubuntu 9.04 paso a paso 1º Ejemplo: Compilador PCW CCS Compiladores C para #include <16F877.h> PIC #use delay(clock=4000000) #include <LCD.C> Programación PIC en #use RS232(BAUD=9600,BITS=8,PARITY=N,XMIT=PIN_B1,RCV=PIN_B2) C void main() X - 10 { int i1=9; Comandos Unix/Linux lcd_init(); //función de inicialización del LCD Autómatas //Mostramos una cadena en la terminal Secuenciales Finitos printf("Esto es una cadenar"); CAD Electrónico //Mostramos una cadena de texto junto con el valor de una variable //en la terminal. Arduino y el printf("El valor de la variable i1 es: %d",i1); controlador LCD serie //Mostramos el valor de la variable por el LCD printf (lcd_putc,"El valor de i1 es: %d",i1); http://www.aquihayapuntes.com/programacion-pic-en-c.html?start=7 14/08/2012
  • 2. Programación PIC en C - Funciones de Entrada/Salida serie RS232. Función printf() Page 2 of 4 Chat } 5 11 ago 12, 18:27 Ann: Comentario: 11 ago 12, 18:26 Ann: ia buske XD En este primer ejemplo vamos a ver el uso de la función printf utilizando diferentes parámetros. Como 11 ago 12, 10:31 vamos a utilizar la librería que incluye el compilador para el manejo de un LCD tenemos que incluir la xor: Busca en el foro.. directiva: 10 ago 12, 19:38 Ann: kk? 10 ago 12, 18:45 #include <LCD.C> Ann: Como puedo programar en C para circuito con RF? Declaramos una variable i1 de tipo entero que nos va a servir para mostrar su valor en la terminal y en un 10 ago 12, 17:16 LCD. frentzen2@ig.com.br: Cuando utilicemos la librería LCD.C y antes de utilizar cualquier otra función incluida en la librería tenemos salsa2 que llamar a la siguiente función que sirve para inicializar el LCD. 1 ago 12, 01:56 logix0000: hola algien me puede ayudar con un lcd_init(); programa 29 jul 12, 11:02 Biblioman: CCS también En la primera llamada a la función printf como parámetros solo incluimos una cadena de caracteres tiene una versión para constante que termina en (r), esa barra invertida junto con la r se le llama secuencia de escape y le está LInux aunque sin IDE.. 6 diciendo al compilador que al final de la cadena introduzca un retorno de carro (tecla enter). Las [Get a Cbox] actualizar secuencias de escape se utilizan para representar caracteres o acciones especiales. nombre mensaje ok printf("Esto es una cadenar"); ayuda · emoticonos · cbox En la tabla de abajo se muestran las secuencias de escape que tenemos disponibles para utilizar con la Siguenos en ... función printf: r Retorno de carro t Tabulador ' Comilla simple " Comillas dobles Barra invertida ? Símbolo de interrogación Licencia 0 Caracter nulo % Símbolo Tanto por ciento b Retroceder un caracter Todo el contenido de este sitio está bajo una Vamos con la segunda llamada a la función: licencia de Creative Commons printf("El valor de la variable i1 es: %d",i1); En este caso tampoco está definido el primer parámetro, por tanto, al igual que en la primera llamada a la función, los datos se enviaran por el puerto serie al pin que hayamos definido en la directiva #use RS232, en esta llamada vemos que tenemos la cadena de caracteres limitada por las comillas dobles y separado por una coma, como tercer parámetro el nombre de la variable i1 que habíamos declarado previamente. En la cadena de caracteres vemos que aparece el carácter de % seguido de la letra d, ese es un carácter especial para la función y lo que le indica a la función es que en esa posición muestre el valor de la variable i1, la d le indica a la función que represente ese valor en formato de número entero. Podemos representar el valor de la variable en diferentes formatos según se muestra en la tabla de abajo: c Caracter s Cadena ó caracter u Entero sin signo d Entero con signo Lu Entero largo sin signo Ld Entero largo con signo x Entero Hexadecimal (minúsculas) X Entero Hexadecimal (mayúsculas) Lx Entero largo Hexadecimal (minúsculas) LX Entero largo Hexadecimal (mayúsculas) f Número real en coma flotante con truncado g Número real en coma flotante con redondeo e Número real en formato exponencial Entero sin signo con decimales insertados. w Especifica dos números para n. La 1ª cifra indica el total y la 2ª el número de decimales Si quisiésemos mostrar el valor de más de una variable lo haríamos de la siguiente forma: printf("El valor i1 es: %d el de i2: %d y el de i3: %d",i1,i2,i3); Vamos con la última llamada a la función del 1º ejemplo: printf (lcd_putc,"El valor de i1 es: %d",i1); http://www.aquihayapuntes.com/programacion-pic-en-c.html?start=7 14/08/2012
  • 3. Programación PIC en C - Funciones de Entrada/Salida serie RS232. Función printf() Page 3 of 4 En esta llamada hemos incluido el primer parámetro y hemos puesto el nombre de la función lcd_putc, está función está definida en la librería LCD.C que trae el compilador para ayuda del manejo de los dispositivos LCD y que hemos incluido en nuestro programa por medio de la directiva #include <lcd.c>, vemos que la librería está encerrada entre los símbolos de <> esto le indica al compilador que busque la librería en el directorio en que se instalo el compilador, si copiáramos esa librería en otro directorio tendríamos que indicarle la ruta completa, pero esta vez encerrada entre comillas dobles. Ejemplo: #include “C:Ejemplos de Clcd.c” Pues bien ahora la función printf no enviará los datos al puerto serie, sino a la función lcd_puct que será la encargada de enviárselos al LCD, esta función por defecto envía los datos al puerto D del PIC, pero accediendo a la librería se puede modificar el puerto fácilmente. Aquí tenéis un video demostrativo del ejemplo: 2º Ejemplo Salida del programa: http://www.aquihayapuntes.com/programacion-pic-en-c.html?start=7 14/08/2012
  • 4. Programación PIC en C - Funciones de Entrada/Salida serie RS232. Función printf() Page 4 of 4 Comentario del programa: • El especificador de formato %x indica al sistema que escriba en hexadecimal (base 16) el valor sustituido. • El ejemplo también escribe el carácter 'A', apoyándose en cuatro formas distintas de representaciones iníciales. En todos los casos se almacenará el mismo valor numérico, pero son diferentes las representaciones usadas. • El carácter (A) sale en la terminal en una línea diferente cada vez que se imprime, eso es debido a la secuencia de escape (r) utilizada. • Observar que el ejemplo se ha hecho sobre el PIC 16f84 que no dispone de una USART hardware para la comunicación serie , pero sin embargo el programa se ha ejecutado correctamente, eso es debido a que la comunicación serie se ha establecido por software por medio de las librerías implementadas en el compilador PCW. Volver al índice << Inicio < Prev 1 2 3 4 5 6 7 8 9 10 Próximo > Fin >> Última actualización el Viernes, 12 de Marzo de 2010 21:26 © 2007-2012 AquiHayapuntes.com http://www.aquihayapuntes.com/programacion-pic-en-c.html?start=7 14/08/2012