domingo, 13 de diciembre de 2015

CCS Compiler (PIC C Compiler) - Comunicación Serial

COMUNICACIÓN SERIAL

Los microcontroladores PIC usan dos formas para poder comunicarse de forma serial. los cuales son:

USART

LA función del USART es la de transmitir y recibir datos en serie

TRANSMISIÓN SINCRONA:  Los datos se transfiere de forma continua, no existe límite de tamaño

Características:

  • Modo semi-duplex
  • La comunicación serie se transmite en una sola línea, en ambos sentidos.
  • No se pueden enviar información en ambos sentidos de forma simultánea
  • La transmisión puede ser maestro o esclavo

TRANSMISIÓN ASÍNCRONA:  En este modo se emplean relojes tanto en el emisor como el receptor

Características:
  • La frecuencia del reloj se acuerda antes de la transmisión
  • La sincronización se realiza durante la transmisión
  • Transmisión es full-duplex (se utilizan dos lineas, una de transmisión (Tx) y otra de recepción(Rx))
  • Cada trama de datos tiene un tamaño fijo y posee un bit de arranque(inicio) y un bit de parada(final).

FUNCIÓN PARA CONFIGURAR EL MODULO USART EN C
#USE RS232(opciones)
     Nos permite configurar las características del modulo USART


ejemplo:
#use rs232(baud=9600,xmit=pin_c6,rcv=pin_c7,parity=N,bits=8)

FUNCIONES DE TRANSMISION DE DATOS
  • putc(data)
  • putchar(data)
         data es un caracter de 8 bits
  • puts(string)
          string es una cadena de caracteres constante o una matriz de caracteres terminada con un cero
  • printf(fname,cstring,values)
         fname: funcion a utilizar para escribir la cadena indicada, por defecto se utiliza putc()
         cstring: cadena de caracteres o matriz de caracteres terminada en 0.
         values: valores a indicar en la cadena, se debe indicar %nt (revisar el post de uso del LCD)


FUNCIONES DE RECEPCION DE DATOS

  • value=getc()
  • value=getch()
  • value=getchar()
         value es un carácter de 8 bits. Espera recibir un carácter por la línea RS232 y devuelve su valor.
  • valor=kbhit()
          valor=0 (false) si getc() debe esperar a que llegue un carácter
          valor=1 (true) si ya hay un carácter para ser leído por getc()

LES DEJO ESTE TUTORIAL PARA QUE PUEDAN VER COMO SE REALIZA LA PROGRAMACION


DESCARGA EL PROGRAMA Y LA SIMULACION EN


13 comentarios :

  1. buenas amigo, como esta todo. hermano estoy tratando de leer un caracter que me envía el arduino y no me muestra nada en la lcd, mi código es el siguiente:

    #include
    #define use_portb_lcd TRUE //definir portb lcd
    #include
    #include
    #use delay (clock=2000000)
    #use rs232(baud=9600,parity=N,xmit=pin_c6,rcv=pin_c7,bits=8)
    #use standard_io(c)

    #int_RDA
    void main(void)
    {
    char caracter;
    set_tris_b(0b0);

    while(1)
    {
    caracter=getc();
    lcd_init();

    printf(lcd_putc,"\f");
    lcd_gotoxy(1,0);
    printf(lcd_putc,"la variable es: %C",caracter);
    if (caracter=='a')
    {
    output_high(PIN_A0);
    delay_ms(1000);
    }
    else
    {
    output_low(PIN_A0);
    delay_ms(1000);
    }
    //TODO: User Code
    }
    }

    ResponderEliminar
    Respuestas
    1. Ccs Compiler (Pic C Compiler) - Comunicación Serial
      ~
      Aprendiendoelectrónica >>>>> Download Now

      >>>>> Download Full

      Ccs Compiler (Pic C Compiler) - Comunicación Serial
      ~
      Aprendiendoelectrónica >>>>> Download LINK

      >>>>> Download Now

      Ccs Compiler (Pic C Compiler) - Comunicación Serial
      ~
      Aprendiendoelectrónica >>>>> Download Full

      >>>>> Download LINK dv

      Eliminar
  2. no has dado de alta tu interrupcion, solo la declaraste en #rda,
    debes inicializarla empezando tu loop

    ResponderEliminar
  3. Buenas tardes a todos los de este foro tengo un problema estoy haciendo un programa con un pic16f628 Y un modulo bluetooth hc-05 y me funciona muy bien pero quiero cambiar el pic16f628 por un pic16f684 que es de 14 pines pero este no trae UART entonces no se como lo puedo conectar o como puedo hacer una comunicación entre el hc-05 y el pic16f684 si alguien me puede ayudar les agradezco este es mi correo.julroj07@gmail.com

    ResponderEliminar
  4. hola, alguien me podrá ayudar. estoy comenzando desde cero con pic16f84a y necesito un código para habilitar el puerto serie y enviar un mensaje en código ASCII hacia COMPIM.

    espero sus comentarios.

    ResponderEliminar
  5. todos lo que quieren implementarlo en pic16f84 estan locos, el código para hacerlo es complicado y ocuparía mucha memoria.

    ResponderEliminar
  6. Este comentario ha sido eliminado por el autor.

    ResponderEliminar
  7. hola amigos estoy realizando un proyecto de hacer un contador con un button y mostrarlo en dos display de 7 segmentos, luego eso debo enviarlo a labview para mostrarlo en una interfaz grafica

    mi codigo es este
    #include <18F4550.h>
    #use delay(clock=20Mhz)
    const byte U[]={0x00,0x3F,0x06,0x5b,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67,};
    const byte D[]={0x00,0x3F,0x06,0x5b,0x4F,0x66,0x6D,0x7D,0x07,0x7F,0x67,};
    int X=2;
    int Y=1;
    int A=0;
    void main()
    {
    set_tris_A(0x3F);
    set_tris_B(0x00);
    set_tris_D(0x00);
    output_B(0x3f);
    output_D(0x3f);
    delay_ms(10);
    do
    {

    if(input(pin_A0)==0)
    {
    output_B(U[X]);
    output_D(D[Y]);
    delay_ms(100);
    X++;
    if(X==11)
    {
    Y++;
    X=1;
    }
    }
    }while (true);
    }

    Que me haria falta para poder hacer la comunicacion serial y pdoer recibir los datos en labview por favor

    ResponderEliminar
  8. Disculpa tendrás algún ejemplo con dos pic16f877a de suma y resta

    ResponderEliminar
    Respuestas
    1. Hago ejemplos básicos para que puedan aprender a programar un PIC y usar los módulos. La lógica de programación es la misma, ya depende mucho del estudiante. Saludos

      Eliminar
  9. Me urge. Si me puedes responder por correo lacio.ramosangel12@gmail.com

    ResponderEliminar
  10. Ccs Compiler (Pic C Compiler) - Comunicación Serial
    ~
    Aprendiendoelectrónica >>>>> Download Now

    >>>>> Download Full

    Ccs Compiler (Pic C Compiler) - Comunicación Serial
    ~
    Aprendiendoelectrónica >>>>> Download LINK

    >>>>> Download Now

    Ccs Compiler (Pic C Compiler) - Comunicación Serial
    ~
    Aprendiendoelectrónica >>>>> Download Full

    >>>>> Download LINK

    ResponderEliminar