Olá pessoal,
Preciso de ajuda para estabelecer uma comunicação serial com um hardware externo.
Estou usando o RXTXComm num maquina Windows 64 bits.
Primeiro deixa eu explicar como o proprietário explica o funcionamento da comunicação.
-
Primeiro enviar uma mensagem “?”.
-
O disposto responde “”.
-
Depois enviar “3c 44 61 74 61 6c 6f 67 67 65 72 3e 01 00”
-
O dispositivo manda varias informações.
-
Quando não tiver mais dados a enviar ele envia um “”
O primeiro passo eu estou realizando com sucesso o segundo não.
O proprietário me recomendou usar um software chamado “hercules_3-2-8” para comunicação serial, neste software tudo funciona, o único detalhe é que eu preciso enviar a primeira string normal e a segunda em hexadecimal.
Abaixo segue o meu código
[code]
try {
StringBuffer buffer = new StringBuffer();
outputStream.write("<Datalogger>?".getBytes());
System.out.println("enviei 1>> '<Datalogger>?'");
buffer = new StringBuffer();
while ( inputStream.available() > 0 ) {
buffer.append(new String(new byte[] {(byte) inputStream.read()}));
}
System.out.println(buffer.toString());
Thread.sleep(1000);
outputStream.flush();
outputStream.write("3c446174616c6f676765723e 01 00".getBytes());
buffer = new StringBuffer();
while ( inputStream.available() > 0 ) {
buffer.append(new String(new byte[] {(byte) inputStream.read()}));
}
System.out.println(buffer.toString());
outputStream.flush();
System.out.println("eu já li");
} catch (Exception e) {
e.printStackTrace();
}
[/code][code]