Hola, tengo un proyecto que consiste en enviar y recivir datos a una memoria 28C64 usando el Conector DB-25 del puerto paralelo. Bueno el montaje en protoboard funciona usando switches simulando las lineas de entrada y de salida pero debo hacer el control desde el PC usando Visual C++.
Entonces, sé que la instrucción outport() y outpotb() son las que comunican el programa con el puerto en la libreria dos.h. En visual, la instrucción cambió a _outp(), y _outb(); _inp().
El programa compila sin errores, pero en tiempo de ejecución se muere. Entonces cambié las propiedades del .exe del programa a usar en modo de compatibilidad de Windows 95 y ya no muere pero no transfiere nada por el puerto.
Encontré que en WindowsXP el I/O port está bloqueado por causa de los permisos ring 0/3 y hay que desbloquear eso. tambien encontré 2 programas que supuestamente hacen eso:
Porttalk
Userport
Con el primero no pasa nada. sigue el mismo problema.
Con el segundo lo corro, sigo las instrucciones, abro mi programa y cuando envia una señal el PC se reinicia solo y a la brava.
Probé el mismo montaje (Hardware) y el mismo programa (Software) en un PC con Win 98 y funciona.
Ya no se que más probar. Funciona en el PC de un amigo tambien WINXP usando userport. Cabe decir que lo unico diferente es que el no tiene el SP1. Me han dicho que el DDK sirve para arreglar eso pero npi de que es DDK.
Si necesitan más datos con gusto mucho gusto,
Att.nax007!!!
Config de mi PC:
-Intel 865 PERL
-PIV 2.8HT
-512MB DDR400
-Microsoft Windows XP Professional
Versión 5.1.2600 Service Pack 1 Compilación 2600
-McAfee Guardian v3.00.1051.0 (Es el Firewall que lo desactive por si acaso)