EN CONSTRUCCION.
Uno de los puntos
más usados en la programación en el área de Electrónica es la entrada y salida
de datos a través de los puertos de la computadora ya sea para la adquisición
de datos desde o enviarle datos hacia un hardware. El manejo de los puertos
puede realizarse a través de las funciones en “bios.h”
biosprint()
para el puerto paralelo y bioscom() para el serial
pero es mucho mas poderoso y versátil usar las funciones para manejo de puertos
declaradas en “dos.h”. Estas son:
void outport(int Direccion, int dato);
para sacar un
entero ( una Palabra – 2 bytes ) “dato” por el puerto
que se encuentra en “Direccion”.
void outportb(int Direccion, unsigned char dato);
que es lo mismo que outport() pero sólo para 1 byte.
Para la entrada tenemos:
int inport(int Direccion);
La función import() devuelve una palabra ( un entero – 2 bytes
) leídos desde “Direccion”.
usigned char inport(int Direccion);
La función importb() devuelve un byte leído desde “Direccion”.
“Direccion” es el valor de la dirección desde y hacia la cual se leen y escriben datos respectivamente. Los valores tradicionales para los puertos de una computadora son:
Para el puerto serial 1 (com1) -> 0x3F8.
Para el puerto serial 2 (com2) -> 0x2F8.
Para el puerto paralelo 1 (LPT1) -> 0x378 ( o 0x3BC)
Para el puerto paralelo 2 (LPT2) -> 0x278
El puerto paralelo contiene tres registros. El DATA Register que se encuentra en la dirección BASE+0 y que ofrece 8 bits de salida. El STATUS Register que se encuentra en BASE+1 y ofrece 5 bits de entrada y el CONTROL Register que se encuentra en BASE+2 y ofrece 4 bits de salida adicionales.
Aquí se agregara el pinout del
puerto paralelo.