Java Comm

4 respostas
B

Olá,

Seguinte to tentando usar a java comm no linux, no entanto estou tendo alguns problemas.

Li o artigo do site, estou tentando testa-lo, mas no entanto o meu não recebe os dados devolta.

alguem entende de comunicaćão serial em java??

no exemplo do site fiz algumas mudanćas onde estava:

public void LerDados(){
if (Escrita == true){

mudei para:

public void LerDados(){
if (Leitura == true){

e tb mudei

porta.setSerialPortParams(baudrate,
porta.DATABITS_8,
porta.STOPBITS_2,
porta.PARITY_NONE)
;

para

porta.setSerialPortParams(baudrate,
porta.DATABITS_8,
porta.STOPBITS_1,
porta.PARITY_NONE)
;

pq eu uso o padrão 8N1 correto???

mas no entanto ele não recebe, alguem sabe como que ele envia??? pois coloquei um println pro meio do codigo puxando o getbytes e pronto, se ele estiver enviando aquilo, naum tem sentido pra mim…

caso alguem conseguir ajudar…

agradećo desde ja!!!

4 Respostas

C

bodninja,

A porta está bem configurada no Linux ? O cabo acompanha a configuração (DTR/DSR ou XON/XOFF) ?

Abs,

B

O cabo apenas utilizo Rx, tx e Vcc, não tenho os bits de controle!!!

eh o seguinte, tah configurado correto, pois tem horas q apenas “envia”, baum pelo menos eu acho que envia!!!

e tem o programa simpleread funciona!!! achei estranho por isso!!! como naum vai receber agora???

B

Mais uma para o pessoal da torcida!!!

Seguinte, pelo que notei no trecho:

Stest1 st2 = new Stest1();

if ( st2.PortaExiste("/dev/ttyUSB0") == true) {

System.out.println(Iniciando comunicacao!);

SComm sc2 = new SComm("/dev/ttyUSB0",9600,2000);

sc2.HabilitarLeitura();

sc2.ObterIdDaPorta();

sc2.AbrirPorta();

sc2.LerDados();

<a href="//sc2.FecharCom">//sc2.FecharCom</a>();

}

note que comentei a linha que fecha a porta, desta forma passou a receber os dados!!!

agora a maior duvida é na hora do envio, ele faz o que com os dados??? pois com o println que coloquei aparece algo estranho!!!

Iniciando comunicacao!
Porta aberta com sucesso!
FLUXO OK!
Enviando um byte para /dev/ttyUSB0
Enviando : ping
[B@69b332
CONEXAO FECHADA>>FIM…
Iniciando comunicacao!
Porta aberta com sucesso!
FLUXO OK!
SUCESSO. Porta aguardando…
R

[B@69b332 -> isso é o que aparece!!! e usei para dar esta saida o seguinte comando!!!

System.out.println(msg.getBytes());

alguem pode me explicar esta saida??? pq???

sendo que coloquei uma string contento “ping\13”…

[]'s

B

Tou testando uns exemplos do tutorial de java api comm. e quando no codigo coloco:

listaDePortas = CommPortIdentifier.getPortIdentifiers();
System.out.println(“FHJK:” +listaDePortas);

da me o seguinte erro:

“javax.comm.CommPortEnumerator@e7b241”

Alguem me pode ajudar!!

Muito Obrigado

Criado 26 de junho de 2007
Ultima resposta 7 de jun. de 2008
Respostas 4
Participantes 3