Módulo USART

Para implementar la comunicación PIC-PC emplearemos el módulo USART (Universal Synchronous Asynchronous Receiver Transmitter) disponible en el microcontrolador. Este módulo nos permite comunicarnos facilmente mediante un puerto serial con el ordenador. Más adelante se añadirá un módulo bluetooth que permitirá la comunicación inalámbrica con el PC.
El Módulo bluetooth que utilizaremos será el HC-05. Es un módulo sencillo y económico que que puede trabajar tanto en modo esclavo como en maestro. Se configura  mediante comandos AT, pero para nuestro proyecto la configuración de fabrica será más que suficiente.
CARACTERÍSTICAS:
  • Compatible con el protocolo Bluetooth V2.0.
  • Voltaje de alimentación: 3.3VDC – 6VDC.
  • Voltaje de operación: 3.3VDC.
  • Baud rate ajustable: 1200, 2400, 4800, 9600, 19200, 38400, 57600, 115200.
  • Baud rate por defecto: 9600
  • Tamaño: 1.73 in x 0.63 in x 0.28 in (4.4 cm x 1.6 cm x 0.7 cm)
  • Corriente de operación: < 40 mA
  • Corriente modo sleep: < 1mA
Conexión módulo Bluetooth:
El microcontrolador PIC18f87k22 dispone de 2 módulos USART que se pueden configurar tanto en modo síncrono como asíncrono y utiliza el protocolo RS-232 para la 
El módulo bluetooth lo conectamos a los pines del módulo 1- USART del microcontrolador 

 Código:
Para implementar el código necesario para la comunicación utilizaremos las librerías usart.h del módulo plib que nos proporciona microchip. Con estas librerías simplificamos la transmisión de los datos al Pc mediante el modulo bluetooth.

Configuraremos el módulo USART del PIC de la siguiente manera:
  • Modo asíncrono
  • 8 bits
  • Recepción continua
  • Interrupción por recepción activada
  • Detección dirección desactivada

USART

void Setup_USART_1(void) {
    //------USART Transmission ----
    //Configurado a una velocidad de 9600 KBauds 
    //Baud Rate Formula FOSC/[16 (n + 1)] con BRGH HIGH, n = SPBRG
    //9600Kbauds = 4e6/[16 (25 + 1)]
    Open1USART(USART_TX_INT_OFF &
            USART_RX_INT_ON &
            USART_ASYNCH_MODE &
            USART_EIGHT_BIT &
            USART_CONT_RX &
            USART_BRGH_HIGH &
            USART_ADDEN_OFF,
            25);
}

Comments