holas tambien jarmos...
tengo como ejemplo dos sistemas que me funcionaron muy bien con java en puerto paralelo.
- Control de puerto paralelo remoto
Este sistema era parte de mi proyecto final en electronica, utilizaba dos maquinas conectadas por cable de red y sus NICS, de tal manera que desde una maquina podia controlar el puerto LPT1 de la otra. Sus aplicaciones son inmensas, desde el control remoto de estaciones (temperatura, ventilacion)..como ejemplo.
- Control de una camara visora.
Este sistema la hice por algunos planes que tengo en mente, lo que hacia era controlar dos motores de paso por el puerto paraleo en java y asi controlar la posicion que la camara que ya no era estática, sino era una camara OJO robotica en dos dimensiones.
Bien aunque resultaron de forma excelente, tambien tengo limitaciones...por ejemplo...siempre he usado el concepto de enviar datos, pero nunca se me presentó un problema con recibir datos desde un circuito externo...¿alguien sabe como recibir datos para LPT en java?...
no se si sirve de mucho enviarte el programa de java para elcontrolador de la camara...puesto que el sistema no es solo en java, tambien esta el uControlador 16F84, su programa, la arquitectura...etc...pero de todas maneras la pongo como ejemplo:
import java.io.*;
import java.net.*;
import javax.comm.*;
public class Send
{ //ret delay;
//int PUERTO;
//String portname;
//public boolean Byte(int a)throws Exception
public static void main (String [] arg)throws Exception
{ int PUERTO=4000,i,c=0,a,a1;
String portname="LPT1";
CommPortIdentifier portId = CommPortIdentifier.getPortIdentifier (portname);
CommPort port = portId.open ("Application Name",30000);
OutputStream os = port.getOutputStream ();
DataOutputStream bos = new DataOutputStream (os);
while(true)
{ c=0;
int b[]=new int[30];
System.out.println ("introdusca valor X:");
a = LeeInt.dato ();
System.out.println ("introdusca valor Y:");
a1 = LeeInt.dato ();
while(a!=0)
{ if(a%2==0)
b[c]=0;
else
b[c]=1;
a=a/2;
c=c+1;
}
while(c<=7)
{ b[c]=0;
c=c+1;
}
for(i=7;i>=0;i--)
{ if(b==0)
{ System.out.println("0");
bos.writeByte (0x00);
bos.writeByte (0x01);
//bos.writeByte (0x02);
}
else
{ System.out.println("1");
bos.writeByte (0x00);
bos.writeByte (0x02);
bos.writeByte (0x03);
}
}
//OTRO
c=0;
while(a1!=0)
{ if(a1%2==0)
b[c]=0;
else
b[c]=1;
a1=a1/2;
c=c+1;
}
while(c<=7)
{ b[c]=0;
c=c+1;
}
for(i=7;i>=0;i--)
{ if(b==0)
{ System.out.println("0");
bos.writeByte (0x00);
bos.writeByte (0x01);
//bos.writeByte (0x02);
}
else
{ System.out.println("1");
bos.writeByte (0x00);
bos.writeByte (0x02);
bos.writeByte (0x03);
}
}
}
}
}