Java Comm

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!!!

bodninja,

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

Abs,

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???

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();
//sc2.FecharCom();
}

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

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