Programar Puerto paralelo modo EPP en C/C++

ask_601
30 de Noviembre del 2005
Hola a todos, no se si me podrian ayudar con este tema que por ahora me parece dificil; es decir donde podria encontrar algun ejemplo del uso del puerto en modo bidireccional... ;)

hiei
30 de Noviembre del 2005
Lo de bidireccional es cencillo (ahora EPP agrega algunas cosas mas, pero creo que no vienen al caso)

Suponiendo que la direccion del puerto es "base" (0x378, 0x278, 0x3BC) deves poner a 1 el bit 5 del registro base+2 para ponerlo en modo bidireccional (Ademas, asegurate que en la BIOS este configurado como EPP y/o ECP... todo menos SPP)

// Abilitar el modo bidireccional...
outportb( base+2, inportb( base+2 )+(1<<5) );

Y luego lee los datos de "base"
dato = inportb( base );

Otra cosa, es que, en el circuito, convienen tener (las salidas que se conectan a las lineas de datos del puerto) como open-colector para evitar problemas con salidas totem-pole mal polarizadas...