Receber dados PORTA PARALELA, modo EPP! Não Funciona! javax.comm ou RXTX

2 respostas
rafaelolian

Fala galera!!
Estou com um problema de comunicação com a porta paralela, não consigo receber dados de jeito nenhum, estou no windows, configuração EPP (bidirecional), testei usando javax.comm e RXTX, nenhum deles deu certo, andei lendo que as bibliotecas são bem limitadas, gostaria de saber se é possível receber dados pelo java ou devo usar uma DLL intermediária em C, C++ ou Delph, se alguém tiver algum exemplo usando DLL eu agradeço!!

Meu código basicamente é este:

CommPortIdentifier commPortIdentifier = CommPortIdentifier.getPortIdentifier("LPT1");
ParallelPort port = (ParallelPort) commPortIdentifier.open("Teste",4000);
port.enableReceiveTimeout(10000);
System.out.println( port.getInputStream().read() );//A saída é sempre -1

Li no link http://www.rogercom.com/pparalela/ModoEpp.htm que eu devo ativar o “Bit 5 (C5) do byte do REGISTRADOR DE CONTROLE” para 1 para receber dados, só que não identifiquei como fazer isso pela ParallelPort.

Obrigado!!

2 Respostas

Luca

Olá

O link do Roger, apesar de bom, não funciona, ou melhor, só funciona nos sistemas operacionais antigos em que era possível acessar diretamente o hardware.

Tanto no Windows como no Linux o SO impede o acesso direto por instruções comuns. Precisa usar um device driver que é um programinha geralmente em C ou assembler que acessa a área protegida do SO e se comunica com o hardware.

Veja http://www.guj.com.br/posts/list/208864.java#1061535

Como eu digo lá, se você procurar mais no google, achará alguns device drivers prontos que podem ser usados diretamente ou que sirvam de modelo para você escrever seu próprio device driver em C. Não é tão difícil quanto parece. Os fabricantes de impressoras costumam fornecer downloads de devices drivers prontos para windows (alguns poucos também para Linux, não sei quais).

Sugiro também que abra os fontes do javax.comm e veja onde é feita a comunicação paralela. Não é dificil achar (não me lembro agora do nome da classe).

[]s
Luca

rafaelolian

Olá, segue o link de uma boa referência para trabalhar com porta paralela em java:
http://www.hytherion.com/beattidp/comput/pport.htm
No meu caso funcionou muito bem!

Criado 19 de junho de 2010
Ultima resposta 6 de jul. de 2010
Respostas 2
Participantes 2