Porta paralela

4 respostas
cu_ringa

quero mandar 1 byte para o registrador 37Ah, tem como fazer isso em java ou vou ter q aprender c++.
tem como eu controlar a pinagem da porta paralela em java tipo quero mandar o bit 1 para o pino 14( auto feed )?

4 Respostas

Luca

Olá

Para enviar um ou mais bytes para a porta paralela você pode usar java e javax.comm. O que você não vai conseguir é receber bytes da porta paralela, quer dizer, não vai saber o status ou eventual erro.

O partir do Windows NT não é mais possível acessar diretamente os dispositivos. A menos que use Windows 98, mesmo que você use C++ também vai precisar de um device driver para acessar de forma ampla e irrestrita a porta paralela.

[]s
Luca

cu_ringa

as interrupções só da para ser executadas em c++, em java só dar para enviar dados para a porta paralela mas não dar para receber, isso não é uma falha da API Java Communications, já que dessa maneira não dar para criar nada de interessante.

Luca

Olá

Acho que não me fiz entender.
[list=1:703c217507]1) No Windows NT, 2000 e no XP NÃO é possível acessar aos dispositivos e as interrupções diretamente rodando programas em user mode em nenhuma linguagem. Isto seria possível nos Windows 98, ME, SE, 95.

  1. A API javax.comm que roda no Windows realmente tem um bug pois contém um método para colocar a porta paralela sob modo bi-direcional que na realidade não faz nada. Parece que a versão 2.02 exclusiva do Solaris corrige isto. Para o Windows a Sun admite o bug mas já declarou que NÃO vai corrigir.

  2. Dá para criar coisas muito interessantes usando device drivers e APIs de terceiros. Veja por exemplo a lib SerialIO.[/list:o:703c217507]

Busca no google por parallel port

[]s
Luca

mauriciobaron

Ola meu nome e Mauricio minha duvida e esta

Pegando um gancho na duvida tenho um projeto de de escola que e o seguinte,
e uma placa de circuito impresso que já tenho funcionando em delphi ela controla 4 motores quero refazer o código para java ela esta usando as saídas 2,3,4,5 e os pinos de terra,so para envio de dados sera possivel usar a mesma programação feita em delphi com algumas alterações para usala em java?

segue o código

procedure TForm2.SpeedButton1Click(Sender: TObject);

// vai para frente

var

endereco:integer;

dados:byte;

begin

endereco := StrToInt($ + Trim(378));

dados := BinToInt(Trim(1110));

Escrever(endereco,dados);

end;
procedure TForm2.SpeedButton3Click(Sender: TObject);

// vai para tras

var

endereco:integer;

dados:byte;

begin

endereco := StrToInt($ + Trim(378));

dados := BinToInt(Trim(1101));

Escrever(endereco,dados);

end;
procedure TForm2.SpeedButton5Click(Sender: TObject);

//vai para direita

var

endereco:integer;

dados:byte;

begin

endereco := StrToInt($ + Trim(378));

dados := BinToInt(Trim(1011));

Escrever(endereco,dados);

end;
procedure TForm2.SpeedButton4Click(Sender: TObject);

//vai para esquerda

var

endereco:integer;

dados:byte;

begin

endereco := StrToInt($ + Trim(378));

dados := BinToInt(Trim(0111));

Escrever(endereco,dados);

end;
procedure TForm2.SpeedButton2Click(Sender: TObject);

//para o robo

var

endereco:integer;

dados:byte;

begin

endereco := StrToInt($ + Trim(378));

dados := BinToInt(Trim(1111));

Escrever(endereco,dados);

end;

end.

Criado 14 de março de 2004
Ultima resposta 11 de out. de 2008
Respostas 4
Participantes 3