He puedo esto aki pero no se muy bien donde ponerlo si aki o en el de programación. lo primero decir que no tengo ni idea de electronica...pero vi este pequeño manual de como controlar 8 led por el puerto paralelo y lo hice...
http://www.codeproject.com/KB/cs/csppleds.aspx
http://www.highrez.co.uk/Downloads/InpOut32/default.htm
el problema que tengo es que siempre estan encedidos los led...desde el momento que conecto el puerto paralelo los led estan encendidos... y da igual lo qye envies que no pasa de todo...
alguien sabe que es lo que me pasa????
gracias de antemano
Antes de enviar una nueva orden, haz un reset mediante:
CitarC2: This pin is for reset the printer and clear the buffer. Which is called nInit, nInitialize
Quizá hay problemas y se queda la tensión activada, no se si el reset se aplica a todos los pines, pero si así fuera seguro que se soluciona el problema.
mmm no se k sistema operativo usas pero como vi la pagina y la dll inpout32 asumo usas windows...
tenes k poner a cero los 8 bits ya k
D7 - D6 - D5 - D4 - D3 - D2 - D1 - D0
0 0 0 0 0 0 0 0 -->binario
o sea envias por el puerto paralelo direccion 378HEX un cero... en visual seria
base = &H378 -->direccin registro de dato o salida de 8 bits paralelos
Out base, &H0
y luego activas la salida k keres si keres la DO pones un 1 en DO
D7 - D6 - D5 - D4 - D3 - D2 - D1 - D0
0 0 0 0 0 0 0 1-->binario
k corresponde a uno
base = &H378
Out base, &H1
si keres encender el DO y el D5
D7 - D6 - D5 - D4 - D3 - D2 - D1 - D0
0 0 1 0 0 0 0 1 -->binario
seria 21 en hexadecimal
base = &H378
Out base, &H21
Sldos... espero te ayude .....
Bueno mira yo hice una vuelta esto tmb para controlar leds por el puerto paralelo LPT 1
te recomiendo si te interesa que el programa lo programes vos o no como gustes igualmente viene el programa incluido solo necesitas el c++ i lo compilas/ejecutas
te paso la pag y una breve explicacion mas mi codigo propio i como funciona
http://www.modelo.edu.mx/univ/virtech/circuito/paralelo.htm#tres (http://www.modelo.edu.mx/univ/virtech/circuito/paralelo.htm#tres)
en este circuito trae incorporado un cirucito intregrado que impide q cualquier corto circuito que pueda llegar a aver dañe tu puerto paralelo
ATENCION
Queda en tu responsabilidad usarlo o no en caso de q no lo uses trata de tener todo bien aislado para prevenir algun tipo de corto circuito que pueda llegar a dañar el puerto paralelo
es esquema mismo sin el intregrado es igual solo q la salida del puerto a la resistencia y de ahi al led
ahi mismo figura que pines podes usar y cuales no como tmb cual es - (GND)
ACA mi codigo tmb echo en c++
#include <dos.h>
#include <stdio.h>
#include <conio.h>
#include <iostream.h>
void main (void){
do {
outportb (0x378,255);
delay (1000);
outportb (0x378,128);
delay (1000);
outportb (0x378,64);
delay (1000);
outportb (0x378,32);
delay (1000);
outportb (0x378,16);
delay (1000);
outportb (0x378,8);
delay (1000);
outportb (0x378,4);
delay (1000);
outportb (0x378,2);
delay (1000);
}while (!kbhit());}
si tenes error en la compilacion por el delay te recomiendo q uses el TC
turbo c
bueno
outportb (0x378,255) lo q hace es mandar la señal al puerto 0x378 (LPT) que encienda el valor 255 por asi decirlo como es esto?
128 64 32 16 8 4 2 1
1 1 1 1 1 1 1 1 ----> la suma da 255
osea q todos los leds van a estar prendidos si queremos prender el led
32 y el 4
lo q tenes q hacer es poner la suma de ellos asi
outportb (0x378,36) y esos dos leds se prenden asi suesivamente podes hacer una secuencia de q prendan en 128 luego se apage i prenda 64 se apage prenda 32 se apage ...............................
y dependiendo el tiempo le vas a dar velocidad delay (1000) es un segundo
bueno esto es todo lo q puedo aportar espero que te sea de ayuda
Precisamente estoy haciendo el manual sobre el puerto paralelo con Visual C#, del mismo manual tambiñen con Visual Basic .NET y Visual C++.
http://electronica-pic.blogspot.com/2010/01/interfaz-puerto-paralelo.html
Saludo.