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