los datos en el puerto paralelo

Iniciado por schelesky, 12 Mayo 2005, 19:30 PM

0 Miembros y 1 Visitante están viendo este tema.

schelesky

Buenos días,

estoy haciendo un semaforo con 3 leds controlados a través del puerto paralelo. El caso es que estoy haciendo pruebas con tan solo un LED y los datos no se mantienen, es decir, el LED se enciendo durante un instante de tiempo muy corto.

Lo que hago es lo siguiente

1) Pongo la señal BUSY A 1 -entonces el LED se enciende
2) PONGO la señal BUSY A 0 -El LED se apaga

SI dejo el BUSY A 0 el LED se enciende durante tan solo un instante de tiempo.

Me habían dicho por ahí que la línea de datos se mantiene hasta que envias el siguiente dato, alguien sabe si realmente lso datos se mantienen o no?


CarWarlock

Buenas.

Si quieres activar salidas no lo hagas con la señal BUSY esa es de lectura, usa el bus de datos que va del pin 2 al 9.

Saludos.

schelesky

Lo que me ocurre es que al enviar un dato, no puedes pasar al envío del siguiente dato hasta que le indicas al puerto paralelo a través de la señal busy que el dispositivo esta desocupado. Si siempre le envío que el dispositivo esta desocupado, los datos que me envía el puerto paralello únicamente se manttiene durante un periodo de tiempo muy muy pequeño.

saludos

CarWarlock

Buenas.

Por lo que me cuentas algo no tienes normal, los datos siempren se mantienen hasta que no se indique lo contario, quizás tenga el puerto trabajando como bidirrecional y entonces estamos hablando de otra cosa (compruebalo en la BIOS) o quizás el código esté mal, estaría bien que enseñases como lo haces.

Salu2

schelesky

Bien, voy a explicarte un poco como lo hago...

En primer lugar te muestro un poco el circuito que tengo:

tierra----resistecia----led----dato0
                                           |
                                           |
                                         Busy (Pongo el Busy a 1)


Entonces una vez que tengo esas conexiones cojo y envío al puerto paralelo FF (es deci, todo a 1). Ésto lo hago a través del terminal de Linux mediante el comando: echo "FF">/dev/lp0, entonces el LED se ilumina pero el comando que te he dixo anteriormente se queda bloqueado porque el puerto paralelo esta esperando que le diga que mi dispositivo no está ocupado y para eso conecto la señal Busy a tierra, entonces tras hacer ésto puedo enviar el siguiente dato.

NOTA->El puerto apralelo en la BIOS lo tengo configurado como normal, es decir que no sigue los protocolos bidireccionas ECP y EPP, asi que en principio supongo que es unidireccional.

CarWarlock

Buenas.

Me comentas que lo haces desde el Linux y la verdad es que ahí no te puedo ayudar no se como se lo hace realmente para trabajar con el puerto paralelo.

Salu2.