Documentos de Académico
Documentos de Profesional
Documentos de Cultura
La configuración de todos los registros, pueden ser vistos en diferentes bibliografías, aquí se detallan unicamente,
los necesarios para configurar a la UART en modo polling.
1
UNIVERSIDAD Técnicas Digitales II
TECNOLÓGICA Año 2004
NACIONAL
Trabajo Práctico Nro 6 Puerto Serie UART 8250 J.T.P. Ing. Steiner Guillermo.
Email:gsteiner@scdt.frc.utn.edu.ar
Registro LCR
Registro de Control de formato de carácter.
7 6 5 4 3 2 1 0
Stick
DLAB B.Ctrl EPS PEN STB WLS1 WLS0
Parity
Selección de Longitud
Bit de Stop = 0 1 bit Stop / 1 2 o 1,5
Paridad
Break Ctrl = 1 inhibe salida de SOUT
DLAB = 1 accede a divisores de latch
Selección de Longitud
Paridad
1 Æ Habilita Paridad
PEN =
0 Æ No hay bit de paridad
Sick Parity = 1 Æ fuerza a el bit de paridad con el valor de EPS
1 Æ Paridad par
EPS =
0 Æ Paridad impar
2
UNIVERSIDAD Técnicas Digitales II
TECNOLÓGICA Año 2004
NACIONAL
Trabajo Práctico Nro 6 Puerto Serie UART 8250 J.T.P. Ing. Steiner Guillermo.
Email:gsteiner@scdt.frc.utn.edu.ar
Registro LSR
Registro de Estado de la Línea
7 6 5 4 3 2 1 0
0 TEMT THRE BI FE PE OE DR
• DR Data Ready: Hay un carácter para ser leído, una vez que se lee el dato este bit se pone de 0.
• OE Overrun Error: Llegó un nuevo carácter y sobrescribió el anterior que no había sido leído.
• PE Parity Error: Error de paridad.
• FE Framing Error: El carácter que llegó no posee los bit de stop correctos.
• BI Break Interrupt: La entrada de datos se mantiene en bajo por mas tiempo que la longitud de un
carácter.
• THRE Transmitter Holding Register Empty: se activa cuando la UART está lista para recibir un nuevo
caracter a transmitir.
• TEMT Transmitter Empty: se activa cuando ya no posee ningún bit para enviar.
Programa Ejemplo
Definición de Constantes
Para el ejemplo crearemos una constante, la misma indica donde comienza en el mapa de memoria de la PC el
direccionamiento de la UART, en este caso utilizamos el COM1 que usualmente se encuentra en la dirección 3f8h
Inicializar Puerto
Este procedimiento inicializa el puerto de comunicaciones para permitir su uso posterior.
El puerto será configurado para que transmita y reciba a 9600 baudio, 8 bits de datos, sin paridad y un bit de stop
(9600,8,N,1)
3
UNIVERSIDAD Técnicas Digitales II
TECNOLÓGICA Año 2004
NACIONAL
Trabajo Práctico Nro 6 Puerto Serie UART 8250 J.T.P. Ing. Steiner Guillermo.
Email:gsteiner@scdt.frc.utn.edu.ar
Lectura de Puerto
Este procedimiento verifica si existe algún dato en el buffer de recepción en caso de haberlo lo lee y devuelve el
dato en AL, indicando el estado del proceso en el carry.
Carry = 0 Æ no hay dato nuevo
Carry = 1 Æ dato nuevo almacenado en AL
Escribir en el Puerto
Este procedimiento verifica si buffer de transmisión está vació, en caso de estarlo transmite el dato guardado en AL,
indicando el estado del proceso en el carry.
Carry = 0 Æ no se pudo enviar el dato
Carry = 1 Æ el dato fue enviado
4
UNIVERSIDAD Técnicas Digitales II
TECNOLÓGICA Año 2004
NACIONAL
Trabajo Práctico Nro 6 Puerto Serie UART 8250 J.T.P. Ing. Steiner Guillermo.
Email:gsteiner@scdt.frc.utn.edu.ar
1 - CD 4 - DTR 1 - CD 4 - DTR
6 - DSR 6 - DSR 6 - DSR 6 - DSR
4 - DTR 1 - CD 4 - DTR 1 - CD
2 - RD 3 - TD 2 - RD 3 - TD
3 - TD 2 - RD 3 - TD 2 - RD
5 - SG 5 - SG 5 - SG 5 - SG
7 - RTS 7 - RTS 7 - RTS 7 - RTS
8 - CTS 8 - CTS 8 - CTS 8 - CTS
9 - RI 9 - RI 9 - RI 9 - RI
Práctico a Desarrollar
Ejercicio Nro 1
Desarrollar un software que mediante un cable serial se comuniquen a otra maquina con igual software, y realice
entre ellas una comunicación de tipo chat, donde los datos ingresados desde el teclado se reproduzcan
automáticamente en la otra pantalla y viceversa, la pantalla de cada PC estará dividida en dos mitades o ventanas,
donde los datos ingresados por el teclado se mostrarán en una y en la otra se mostrarán los datos enviados por la otra
PC