Programar Puerto paralelo modo EPP en C/C++
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... ;)
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...
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...