Beruflich Dokumente
Kultur Dokumente
com
El conector DB9 es un conector analógico utilizado principalmente para conexiones en serie para la
transmisión asíncrona de datos según lo dispuesto por el estándar RS-232. Aquí está el pinout del
conector PC DB9.
https://openlabpro.com/guide/uart-interfacing-with-pic-microcontroller/ 1/5
23/10/2019 Interfaz UART con microcontrolador PIC - OpenLabPro.com
TXSTA
TRMT : el bit de estado (solo lectura) muestra el estado del registro de desplazamiento de
transmisión. El bit se establece cuando se completa una transmisión y se borra cuando una
transmisión está en progreso.
BRGH: configurado para determinar la comunicación asincrónica, configurado para alta velocidad
y claro para baja velocidad.
TX9: este bit se establece en alto mientras se envían datos de 9 bits de longitud (establecido para
datos de 9 bits y borrado para datos de 8 bits).
RCSTA
CREN - Configurado para habilitar la recepción continua. Borrar este bit detendrá la recepción.
RX9: este bit se utiliza cuando se reciben datos de 9 bits de longitud. El bit está configurado para
seleccionar la recepción de 9 bits borrada para seleccionar la recepción de 8 bits.
SPEN: este bit se utiliza para habilitar / deshabilitar el puerto serie (pines Tx y Rx). Se configura
para habilitar el puerto y se borra para deshabilitar el puerto serie.
FERR & OERR : bit de error de trama y bit de error de desbordamiento. Los bits se establecen
cuando se producen los errores correspondientes.
TXREG
TXREG es el registro de búfer de transmisión en el que se almacenan los datos a transmitir.
RCREG
https://openlabpro.com/guide/uart-interfacing-with-pic-microcontroller/ 2/5
23/10/2019 Interfaz UART con microcontrolador PIC - OpenLabPro.com
RCREG es el registro del búfer de recepción en el que se almacenan los datos recibidos.
PIE1
RCIE : al configurar este bit se habilitará la interrupción del receptor.
TXIE : al configurar este bit se habilitará la interrupción de la transmisión.
BAUDCON
BRG16: este bit permite la generación de la velocidad en baudios de 16 bits. Cuando se establece
este bit, los registros SPBRG y SPBRGH generan la velocidad en baudios cuando se borra, la
velocidad en baudios se genera solo por el registro SPBRG.
Por ejemplo, si se va a usar una velocidad de 9600 baudios para el modo asíncrono de 8 bits de
transferencia de datos, la velocidad de transmisión se calcula con la fórmula
https://openlabpro.com/guide/uart-interfacing-with-pic-microcontroller/ 3/5
23/10/2019 Interfaz UART con microcontrolador PIC - OpenLabPro.com
El registro SPBRG debe cargarse con 31 para generar una velocidad de 9600 bits por segundo a
relojes de 20 MHz.
Firmware
Desarrollar el firmware para la comunicación UART implica configurar los registros como primer
paso. Los bits de registro de dirección del microcontrolador deben configurarse de tal manera que
el pin Rx esté configurado como entrada y el pin Tx como salida.
Establecer los bits de registro adecuadamente configuraría el módulo UART para la velocidad de
transmisión deseada. La transmisión de un personaje en serie usando el módulo requeriría que el
personaje se cargue en el registro de desplazamiento de transmisión y espere hasta que se complete
la transmisión.
Los datos recibidos del otro dispositivo se almacenarán en el registro del búfer de recepción. Para
leer el carácter recibido, tenemos que esperar hasta que el búfer de recepción esté lleno.
C
1 char USART_ReceiveChar()
2 {
3 while(RCIF==0); /*wait for receive interrupt flag*/
https://openlabpro.com/guide/uart-interfacing-with-pic-microcontroller/ 4/5
23/10/2019 Interfaz UART con microcontrolador PIC - OpenLabPro.com
4 if(RCSTAbits.OERR)
5 {
6 CREN = 0;
7 NOP();
8 CREN=1;
9 }
10 return(RCREG); /*received in RCREG register and return to ma
11 }
12
Es posible recibir texto en la comunicación UART al recibir cada carácter uno por uno en una
matriz de caracteres.
Técnicas de depuración
Shorting Tx y Rx pins
Al acortar el pin Tx y Rx del cable DB9 podemos verificar el error en el lado del cable observando
en el monitor en serie. El cortocircuito del pin Tx y Rx hará eco del carácter ingresado desde el
teclado en el monitor en serie.
https://openlabpro.com/guide/uart-interfacing-with-pic-microcontroller/ 5/5