G
Guest
Gast
Hallo,
ich versuche mit RXTX einzelne Bytes über meinen ComPort zu verschicken.
Hab es bisher immer mit: java.iutputStream.write(int) versucht.
Dies führt aber z. B. bei '128' zu Problemen. Dann kommt auf der anderen seite ein Byte an, dass '63' entspricht. Da zu kommt, dass bei '130', '140' und einigen anderen Zahlen '63' auf der anderen Seite ankommt. Zahlen wie '255' funktionieren dann aber wieder...
Hier vielleicht mal der Code:
Also hier nochmal die Frage:
Wie kann ich die 8 Bits eines Bytes geziehlt belegen? Bin hierbei nicht unbedingt an Integerwerte gebunden. Hab die Sache auch schon mit hex-Werten und binären 01-Strings versucht.
ich versuche mit RXTX einzelne Bytes über meinen ComPort zu verschicken.
Hab es bisher immer mit: java.iutputStream.write(int) versucht.
Dies führt aber z. B. bei '128' zu Problemen. Dann kommt auf der anderen seite ein Byte an, dass '63' entspricht. Da zu kommt, dass bei '130', '140' und einigen anderen Zahlen '63' auf der anderen Seite ankommt. Zahlen wie '255' funktionieren dann aber wieder...
Hier vielleicht mal der Code:
Code:
void portTest(){
SerialPort sPort=null;
CommPortIdentifier portID;
InputStream in;
PrintWriter out = null;
try{
System.out.println("Port öffnen");
portID = CommPortIdentifier.getPortIdentifier("COM6");
sPort = (SerialPort) portID.open("What the fuck", 2000);
in = sPort.getInputStream();
out = new PrintWriter(sPort.getOutputStream());
sPort.setSerialPortParams(9600, SerialPort.DATABITS_8, SerialPort.STOPBITS_1, SerialPort.PARITY_NONE);
sPort.notifyOnDataAvailable(true);
//sPort.addEventListener(this);
System.out.println("Owner: " + portID.getCurrentOwner());
}catch(Exception e){e.printStackTrace();}
Integer t = Integer.parseInt("10000000", 2); //=128
out.write(t);
out.wrtie(128);
//out.write(127);
out.flush();
sPort.close();
}
Also hier nochmal die Frage:
Wie kann ich die 8 Bits eines Bytes geziehlt belegen? Bin hierbei nicht unbedingt an Integerwerte gebunden. Hab die Sache auch schon mit hex-Werten und binären 01-Strings versucht.