E ai galera, ainda estou me matando e não chegando a lugar nenhum, já montei o hardware mas o meu software não envia nada para a porta paralela fazendo com que o led se acenda na verdade o software na hora que chega no .write() fica em standy até eu dar um CTRL+C para para o processo, alguém pode me ajudar ?
Segue o código q estou usando atualmente.
import javax.comm.*;
import java.io.*;
import java.util.*;
import java.util.Enumeration;
public class SerialCom {
public Enumeration listaDePortas;
public ParallelPort parallelPort;
public CommPortIdentifier ips;
static OutputStream outputStream;
static DataOutputStream DOSone;
public SerialCom(){
listaDePortas = CommPortIdentifier.getPortIdentifiers();
}
public boolean PortaExiste(String COMp){
String temp;
boolean e = false;
while (listaDePortas.hasMoreElements()) {
ips = (CommPortIdentifier)listaDePortas.nextElement();
temp = ips.getName();
if (temp.equals(COMp)== true) {
e = true;
break;
}
}
return e;
}
public void enviarDados(String po, String mensagem, int valor) {
if (PortaExiste(po)) {
try {
parallelPort = (ParallelPort) ips.open("SerialCom", 3000);
} catch (PortInUseException e) {
System.out.println("Porta em uso.");
}
try {
outputStream = parallelPort.getOutputStream();
} catch (IOException e) {
}
try {
parallelPort.setMode(1);
}catch(UnsupportedCommOperationException e) {
System.out.println("Unsupported byte mode.");
}
System.out.println("Mensagem: "+mensagem+" na porta "+parallelPort.getName());
try {
outputStream.write(mensagem.getBytes());
} catch (IOException e) {
System.exit(1);
}
try {
Thread.sleep(2000);
} catch (Exception e) {
}
parallelPort.close();
}
}
public static void main(String args[]){
SerialCom s = new SerialCom();
s.enviarDados("LPT1", "1", 0);
}
}
[]s