Autor Tema: Introduccion de datos medianet puerto paralelo  (Leído 7826 veces)

Desconectado likuid

  • Newbie
  • *
  • Mensajes: 9
Introduccion de datos medianet puerto paralelo
« en: 01 de Junio de 2004, 10:31:47 pm »
Alguien puede ponerme el codigo fuente de como hacerlo? serían 8 entradas de datos lo que necesito, doy mi vida por ello!  :lol:

[LiKuiD]

Desconectado ALP

  • Member
  • ***
  • Mensajes: 234
Introduccion de datos medianet puerto paralelo
« Respuesta #1 en: 01 de Junio de 2004, 11:55:15 pm »
Hola de nuevo.

Si lo que necesitas es leer el puerto paralelo, lo puedes hacer utilizando las funciones de entrada/salida de ficheros. Por ejemplo:

Código: [Seleccionar]
HANDLE lpt;
char byte;
DWORD leidos;

lpt = CreateFile("lpt1",GENERIC_WRITE,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL);
while(1) {
   ReadFile(lpt, &byte, 1, &leidos, NULL);
   if (leidos > 0) {
      ....
      /* tratamiento del carácter leido */
      ....
   }
}

CloseHandle(lpt);


Si lo que necesitas es "controlar a saco" el puerto paralelo, el tema es un poco más complejo.

Un saludo.
Si no puedes deslumbrar con tu sabiduría, desconcierta con tus gilipolleces.

Desconectado likuid

  • Newbie
  • *
  • Mensajes: 9
Introduccion de datos medianet puerto paralelo
« Respuesta #2 en: 02 de Junio de 2004, 12:22:15 am »
Pues mas bien a saco si...  xD

Desconectado ALP

  • Member
  • ***
  • Mensajes: 234
Introduccion de datos medianet puerto paralelo
« Respuesta #3 en: 02 de Junio de 2004, 12:32:39 am »
Dale un vistazo a esta página, te explican por encima el funcionamiento del puerto paralelo, y también hay algún ejemplo de cómo leer y escribir en el puerto.

http://www.ctv.es/pckits/tutorial.html#parallel

actualizado
Quizás esta clase te ayude más...

http://www.geocities.com/agutierrezf/practica3.html

un saludo.
Si no puedes deslumbrar con tu sabiduría, desconcierta con tus gilipolleces.

Desconectado likuid

  • Newbie
  • *
  • Mensajes: 9
Introduccion de datos medianet puerto paralelo
« Respuesta #4 en: 02 de Junio de 2004, 09:58:06 am »
Muchas gracias me han venido de lujo, dos preguntitas:

1) Las direcciones fisicas de memoria donde residen los datos, el control y el estado del puerto son 0x378,0x379 y 0x37a, pero no tengo ni idea de cual es cual.

2) Debo introducir 8 bits de datos por el puerto, cuando este solo posee 5 bits de datos direccion impresora --> ordenador, la solución es usar el byte de datos ke generalmente se usa en dirección ordenador --> impresora (D0-D7) que van desde el pin 1 al 9, para ello tendría que variar un bit del byte de control, pero como ya he dicho no se cual es el byte de control y menos aun que bit debería modificarle...

[LiKuiD]

Al final con la tonteria me voy a aficcionar a esto del C  :roll:

Desconectado ALP

  • Member
  • ***
  • Mensajes: 234
Introduccion de datos medianet puerto paralelo
« Respuesta #5 en: 02 de Junio de 2004, 10:21:02 pm »
Hola de nuevo.

Respecto a las direcciones:

0x378 es la dirección del puerto 1 (LPT1)

DATOS  = base + 0 = 0x378
STATUS =  base + 1 = 0x379
CONTROL = base + 2 = 0x37a

respecto a la segunda pregunta,quizás esta página te ayude:

http://www.beyondlogic.org/spp/parallel.htm

(mira el enlace "Using the Parallel Port to Input 8 Bits")

no tengo nada para conectar al paralelo, así que no puedo hacer pruebas...

un saludo.
Si no puedes deslumbrar con tu sabiduría, desconcierta con tus gilipolleces.

Desconectado likuid

  • Newbie
  • *
  • Mensajes: 9
Introduccion de datos medianet puerto paralelo
« Respuesta #6 en: 02 de Junio de 2004, 10:30:59 pm »
Soy muy pesado lo se... algo que se escapa a mi persona:

printf ("%x",inp(0x37a)); --------> e7

outp (0x37a,0xc7); ----------> y se me mete en el registro ec! porque?

/*------------------------------------------------------*/

Por otra parte si lo hago haciendo la comparacion bit a bit con and:

outp (ox37a,0xe7&0xdf);

Haciendo esa comparacion bit a bit deberia quedarse en ese registro c7 (que es lo que quiero meter), pero se queda ec igualmente.

 :evil:

[LiKuiD]

Desconectado likuid

  • Newbie
  • *
  • Mensajes: 9
Introduccion de datos medianet puerto paralelo
« Respuesta #7 en: 02 de Junio de 2004, 10:37:06 pm »
Vale acabo de comprobar que el problema no esta en el código, si pruebo con cualquier otra direccion de memoria me deja, pero la que necesito cambiar es la  del byte de control del LPT1 (0x37a), alguna idea de porque no puedo?

Desconectado ALP

  • Member
  • ***
  • Mensajes: 234
Introduccion de datos medianet puerto paralelo
« Respuesta #8 en: 02 de Junio de 2004, 11:16:54 pm »
¿Podría ser por una cuestión de tiempos de espera?
¿Qué tienes conectado al puerto?

He estado rebuscando, y he encontrado esta dirección:
http://www.cpr2valladolid.com/tecno/cyr_01/control/index.htm

En el frame de la izquierda, en el último enlace (Y, ...¿en el aula?) hay un enlace a un programa del mismo autor, LPTPanel, que podría servirte de ayuda. Más rápido por aquí:

http://www.cpr2valladolid.com/tecno/cyr_01/soft.htm#LPTPanel

un saludo.
Si no puedes deslumbrar con tu sabiduría, desconcierta con tus gilipolleces.

Desconectado likuid

  • Newbie
  • *
  • Mensajes: 9
Introduccion de datos medianet puerto paralelo
« Respuesta #9 en: 02 de Junio de 2004, 11:28:16 pm »
Aun no he conectado el dispositivo al puerto, el tema es que ese es el byte de control, la configuracion del puerto, no debería ser necesario tener nada enchufado para poder variarlo, el caso es que le meto unos datos y el introduce lo que le da la real gana.

 

Aviso Legal | Política de Privacidad | Política de Cookies

el contenido de la web se rige bajo licencia
Creative Commons License