[Electronica y programación] manejo del puerto paralelo...

Iniciado por BADBYTE-K, 27 Noviembre 2004, 11:11 AM

0 Miembros y 2 Visitantes están viendo este tema.

privatic

Hola,
Resulta que estoy haciendo experimentos con el puerto paralelo.
Yo antes solo conocia la programacion en C mediante Borland 3.0, o sea que hacia algunas cosas solo para DOS.
Resulta que saltar de C de DOS en lo que es codigo para control del puerto paralelo a WINDOWS XP es todo un camino para recorrer y experimentar.
tuve que bajarme el DEVCPP y ALLEGRO para hacer mis practicas... y por supuesto la DLL inpout32.dll para el manejo del puerto.
Ahora bien, lo que ando necesitando es que no se COMO HACER RETARDOS DE MICROSEGUNDOS para tener que mis datos enviados se mantengan a una velocidad constante independientemente de la maquina donde se ejecute.
Antes usaba un codigo en asm insertado que trabajaba con el puerto del Speaker y su configuracion, alterando algunas direcciones de memoria del ic timer para obtener una bandera de retardo...
Pero ahora en WIN32, MODO CONSOLA COMO ESTOY... necesito adicionar codigo y ESTOY BUSCANDO ALGUN EJEMPLO.... en resumen... hazte cuenta que quiero generar por ejemplo una onda cuadrada en el bit 2 del DATA PORT y que su espaciado entre estados 1 sea de 15 microseg.... se podra con algun codigo?

Otra cosa que me interesaria saber es si puedo programar con este gnu DEVCPP que tiene el compilador mingw con archivos insertados asm como solia hacer con mi viejo borland.... alguien sabe algo?




cartocman

 ;D hola, en el momento estoy muy metido en el cuento del puerto paralelo y tengo una ventana que descargue para elegir el pin que se desea activar, se puede enviar datos y tambien los recibe y muestra tanto en los led's que esten conectados como en el PC, es muy util ojala les sirva de algo... A mi me ha servido para probar el funcionamiento de mis proyectos. conectense a esta pagina:
www.qeekhideout.com
luego en la linea de menu que esta a la izq de esta pagina busquen el Freeware y metanse a PARALLEL PORT MONITOR y descarguenlo.
me despido y les mando muchas saludes y les repito.. ojala que les sirva de algo mi aporte

{_The_Alwar_}

#12
Cita de: cartocman en 22 Febrero 2005, 10:06 AM
;D hola, en el momento estoy muy metido en el cuento del puerto paralelo y tengo una ventana que descargue para elegir el pin que se desea activar, se puede enviar datos y tambien los recibe y muestra tanto en los led's que esten conectados como en el PC, es muy util ojala les sirva de algo... A mi me ha servido para probar el funcionamiento de mis proyectos. conectense a esta pagina:
www.qeekhideout.com
luego en la linea de menu que esta a la izq de esta pagina busquen el Freeware y metanse a PARALLEL PORT MONITOR y descarguenlo.
me despido y les mando muchas saludes y les repito.. ojala que les sirva de algo mi aporte

No me funciona el link... es este el OCX que menciono Badbyte????
esk e buscado el ocx pero no lo encuentro, y esto que dice badbyte no me keda claro del todo, de toas formas gracias

BADBYTE-K

ocx hay varios que hacen por asi decirlo "magia" te hacen las cosas automaticas, lo mejor es que uses alguna de las dll que menciono inpout32.dll, io.dl asi manipularas mejor tu software


saludox

{_The_Alwar_}

si, yo ya tengo la inpout32.dll, lo que pasa esque no me quedo muy claro eso de que "Out &H378, 255 " yo lo que quiero es sacar por un determinado pin x voltios, como hago eso?

BADBYTE-K

Out &H378, 255 con esto lo que logras en enviar un 1 logico a todos los pines del data es decir todos tienen voltaje, en el tutorial explico como hacer para varias la salida de voltaje segun pin:

Citarhay que tener en cuenta tambien el tipo de dato que le enviaremos al puerto:

0
2
4
8
16
32
64
...
255


si pones 0 ninguno tiene voltaje

si pones 2....pin 2 - D0 tiene voltaje (5voltios, 1 logico)
esto es = a decir:

CitarOut &H378, 2

si pones 4....pin 3 - D1 tiene voltaje

CitarOut &H378, 4

y asi sucesivamente:

Citarpin 2 - D0
pin 3 - D1
pin 4 - D2
pin 5 - D3
pin 6 - D4
pin 7 - D5
pin 8 - D6
pin 9 - D7

Citar8
16
32
64
...
255


saludox


{_The_Alwar_}

#16
Lo siento, pero esk no consigo entenderlo, y otra cosa, Ej: Un led tiene dos Patillas (+/-), yo conecto la patilla de un led a un pin dataport (que creo k son los que envian voltaje) y la otra patilla a donde va? (creo k sera al borde del enchufe)

Ian~Shadow

A creo que ya entendi:

Out &H378, 0 no manda nada, o 0 logico en todos los pins

Out &H378, 1 manda un 1 logico al 1°
Out &H378, 2 manda un 1 logico al 2°
Out &H378, 4 manda un 1 logico al 3°
Out &H378, 8 manda un 1 logico al 4°
Out &H378, 16 manda un 1 logico al 5°
Out &H378, 32 manda un 1 logico al 6°
Out &H378, 64 manda un 1 logico al 7°
Out &H378, 128 manda un 1 logico al 8°

Y Out &H378, 255  manda un 1 logico a todos los pins

Corrijanme si me equivoco.

anoche hacia las cuentas, y no me salian 10 combinaciones para 8 pins n_n ;D


{_The_Alwar_}

umm creo k voy cojiendo el hilo

Osea Out &H378, 1 lo que hace es enviar al puerto 378, uno logico k son 5 voltios al pin 1, y como seria para enviar un dos logico????? dos logico cuantos voltios son?

BADBYTE-K

Cita de: alwar en 30 Marzo 2005, 08:43 AM
umm creo k voy cojiendo el hilo

Osea Out &H378, 1 lo que hace es enviar al puerto 378, uno logico k son 5 voltios al pin 1, y como seria para enviar un dos logico????? dos logico cuantos voltios son?

No, antes dejame aclararte algo:

Los sistemas digitales trabajan en base a "pulsos" por asi decirlo, dichos pulsos no son constantes dependientes si no que son ya establecidas y unicamente son dos...

el 1 logico: 5v
el 0 logico: 0v

no existe un dos logico ni nada mas, digamos es como decir

1= encendido
0= apagado

solamente es eso  :)

Cita de: Ian~Shadow en 30 Marzo 2005, 04:56 AM
A creo que ya entendi:

Out &H378, 0 no manda nada, o 0 logico en todos los pins

Out &H378, 1 manda un 1 logico al 1°
Out &H378, 2 manda un 1 logico al 2°
Out &H378, 4 manda un 1 logico al 3°
Out &H378, 8 manda un 1 logico al 4°
Out &H378, 16 manda un 1 logico al 5°
Out &H378, 32 manda un 1 logico al 6°
Out &H378, 64 manda un 1 logico al 7°
Out &H378, 128 manda un 1 logico al 8°

Y Out &H378, 255 manda un 1 logico a todos los pins

Corrijanme si me equivoco.

anoche hacia las cuentas, y no me salian 10 combinaciones para 8 pins n_n ;D



exacto!  es asi  :) lo unico es que en tu aclaracion los valores 1º, 2º, 3º, 4º, 5º, etc... corresponden a lo que ya les dije anteriormente:

Citarpin 2 - D0
pin 3 - D1
pin 4 - D2
pin 5 - D3
pin 6 - D4
pin 7 - D5
pin 8 - D6
pin 9 - D7


Cita de: alwar en 30 Marzo 2005, 01:28 AM
Lo siento, pero esk no consigo entenderlo, y otra cosa, Ej: Un led tiene dos Patillas (+/-), yo conecto la patilla de un led a un pin dataport (que creo k son los que envian voltaje) y la otra patilla a donde va? (creo k sera al borde del enchufe)

Tienes unos pines de "tierra" 

Citarla parte de GND, son los tierra
del 18 al 25

ahi debes conectar los negativos de tus dispositivos


saludox