Patrocinado por:
Ir Atrás   LANeros.com / Foro / Software / Programacion y Diseño de Software

 
Herramientas

Viejo abril 23, 2004   #1
LANero aventajado (6)
 
Avatar de nax007
 
Registrado: oct 2002
Localidad: Brighton, UK
Mensajes: 606
Estado: Desconectado


Parallel Port, VC++ y WINXP

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)

SONY Ericsson Xperia X8
 

Viejo abril 24, 2004   #2
LANero novato (1)
 
Registrado: feb 2004
Mensajes: 23
Estado: Desconectado
hermano lo lamento eso es muy avanzado para mi
 

Viejo abril 24, 2004   #3
LANero aventajado (6)
 
Avatar de nax007
 
Registrado: oct 2002
Localidad: Brighton, UK
Mensajes: 606
Estado: Desconectado


Pero alguna idea?

Att.nax007!!!

P.D: Imposible, no puede ser tan tan complejo, será que no lo han leido???

SONY Ericsson Xperia X8
 

Viejo mayo 2, 2004   #4
LANero aventajado (6)
 
Avatar de nax007
 
Registrado: oct 2002
Localidad: Brighton, UK
Mensajes: 606
Estado: Desconectado


Cierren esto que no hubo respuestas.

Att.nax007!!!

SONY Ericsson Xperia X8
 

Viejo mayo 3, 2004   #5
LANero Moderador
 
Avatar de Krieg
 
Registrado: may 2003
Localidad: Berlin
Mensajes: 4,745 |
Estado: Desconectado


Si el programa es DOS porque no prueba booteando y corriendolo con DOS ?

@fjsanabria
 

Viejo mayo 3, 2004   #6
LANero conocido (3)
 
Registrado: ago 2003
Localidad: Cali
Mensajes: 85
Estado: Desconectado
Has probado usando el IOCTL para el puerto???
O abriendo el dispositivo como un archivo normal usando el CreateFile ????
 

Viejo mayo 4, 2004   #7
LANero aventajado (6)
 
Avatar de nax007
 
Registrado: oct 2002
Localidad: Brighton, UK
Mensajes: 606
Estado: Desconectado


1º Krieg, Tengo WINXP y no puedo bootear en DOS. Los discos de inicio que se crean en WINXP no son DOS boot. Y además es un programa con ventanas.

2º atk_pantera npi de que es IOCTL. Y lo segundo tampoco lo se hacer.

3º Solucioné el inconveniente usando un programa que se llama UserPort combinado con usar el .exe del programa que hice en modo de compatibilidad Windows 98/ME.

4º gracias y pueden cerrar el foro.

Att.nax007!!!

SONY Ericsson Xperia X8
 

Viejo mayo 4, 2004   #8
LANero reciente (2)
 
Avatar de cibervicho
 
Registrado: ene 2004
Localidad: Guadalajara
Mensajes: 35
Estado: Desconectado
no creo que se buena idea cerrar el foro ya que es algo que muchas personas estamos interesaedos en ese tema.. estoy investigando sobre el tema y en cuanto tenga algo de interes para todos lo publico
 

Viejo mayo 4, 2004   #9
LANero aventajado (6)
 
Avatar de nax007
 
Registrado: oct 2002
Localidad: Brighton, UK
Mensajes: 606
Estado: Desconectado


Bueno dejenlo abierto. Pero es que igual cerrarlo solo es porque el problema ya está solucionado e igualmente se puede seguir leyendo. Si despues le sale a ud algun problema pues crea otro, no?

Queda pendiente lo del DDK. Los duros que me expliquen eso y atk_pantera que explique mejor lo que posteo que puede ser una buena alternaiva para evitar hacer modificaciones externas al codigo en si.

Att.nax007!!!

SONY Ericsson Xperia X8
 

Viejo mayo 4, 2004   #10
LANero novato (1)
 
Registrado: may 2004
Localidad: Cúcuta
Mensajes: 5
Estado: Desconectado
Hablando

HOLA AMIGOS,

la verdad yo estoy desarrollando un proyecto similar, y la solucion optima fue manejar el puerto en lenguaje ensamblador, mas especificamente con MASM32" version 7, utilizando las API de Windows, ya que para usar en XP hay que tener precaucion pues este incorpora mecanismos de control y por lo general(como todo en windows) solo nos complica mas la vida.

Pudes averiguar mas sobres las API si te buscas en internet la APIGUIDE, alli encontraras informacion actualizada sobre las API que se usan en entorno XP, estas tambien pueden ser invocadas desde Visual Basic, pero ojo debes usar el VBasic.Net.

Suerte.


Editado por ciderdead : mayo 4, 2004 a las 11:56 PM
 

Viejo mayo 15, 2004   #11
LANero distinguido (5)
 
Avatar de goku2015
 
Registrado: mar 2004
Localidad: Bogota
Mensajes: 482
Estado: Desconectado


Pues que yo sepa algunas versiones de win no prestan los puertos por ejemplo el 2000 y el xp y te toca con otro programa para q el so te preste los puertos

 

Viejo mayo 16, 2004   #12
LANero reciente (2)
 
Avatar de cibervicho
 
Registrado: ene 2004
Localidad: Guadalajara
Mensajes: 35
Estado: Desconectado
A toda la comunidad LANERA:

Me encontre navegando en INTERNET una dll que promete controlar los puertos de la PC facilmente.
El link es: http://www.zealsoftstudio.com/ntport/

Chequenlo y nos cuentan como les fue.
 

Viejo mayo 17, 2004   #13
LANero reciente (2)
 
Avatar de cibervicho
 
Registrado: ene 2004
Localidad: Guadalajara
Mensajes: 35
Estado: Desconectado
Comunidad y lectores de este foro, ya probe la libreria que mencione en el post pasado (ntport.dll) y funciona de maravilla. Sirve muy bien bajo WindowsXP y Borland C++ Builder 6. Si necesitan ayuda en este lenguaje para su uso no duden en preguntarme. Y si puedo ayudarlos claro que lo hare.
 

Viejo mayo 18, 2004   #14
LANero novato (1)
 
Registrado: may 2004
Localidad: Cúcuta
Mensajes: 5
Estado: Desconectado
Bien muchachos, despues de dar algunas vueltas, me dijeron que la solucion era usar las instrucciones que visual c++ tiene para inicializar los puertos, para definir cual puerto vas a usar, es decir como cuando tu quieres definir cual impresora quieres usar, de esta forma el so encontrara una peticion de uso del puerto y facilitara la comunicacion con este, pues de otro modo la seguridad ring 0 no permite el acceso al puerto.

Sera bueno dar una leida a las msdn de microsoft.
 

Herramientas

Reglas de Mensajes
No puedes publicar nuevos temas
No puedes escribir respuestas
No puedes publicar adjuntos
No puedes editar tus mensajes
Código Especial está Activado
Las Caritas son Activado
Código [IMG] está Activado
Código HTML está Desactivado
Trackbacks are Desactivado
Pingbacks are Desactivado
Refbacks are Desactivado


¿Nuevo en el sitio? ¿Buscando Ayuda?

Todas las horas son GMT -5. La hora actual es 01:29 PM.


vBulletin System 3.8.7 - Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122