RXTX verschicken einzelener Bytes

Status
Nicht offen für weitere Antworten.
G

Guest

Gast
Hallo,

ich versuche mit RXTX einzelne Bytes über meinen ComPort zu verschicken.
Hab es bisher immer mit: java.io_OutputStream.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.
 

foobar

Top Contributor
Wenn du auf der einen Seite 128 per write verschickst, sollten die auf der anderen Seite auch so ankommen. Ob du die 128 jetzt hexadezimal oder dezimal angibst ist Java völlig Latte.
Womit testest du denn die Gegenseite? Nullmodemkabel?
Am einfachsten kann man das mit einem Commportlogger oder VMWare testen. Bei VmWare kann man einen virtuellen Comport einrichten der dann in eine Datei schreibt. So kann man ganz einfach testen was wirklich ankommt. Wenn du dir die Ausgabedatei dann mit nem Hexeditor anguckst, siehste was lost ist.

BTW den Printwriter würde ich mir an der Stelle sparen. Viel einfacher ist es direkt auf dem Outputstream zu arbeiten, dann wird auch nicht mehr gecached und man muß nicht flushen.
 
G

Guest

Gast
Wenn du auf der einen Seite 128 per write verschickst, sollten die auf der anderen Seite auch so ankommen. Ob du die 128 jetzt hexadezimal oder dezimal angibst ist Java völlig Latte
Das hatte ich mit auch gedacht. Scheint aber so nicht zu funktionieren.... Hatte den vedacht, dass dabei intern mit der internen Darstellung was schief geht....
Womit testest du denn die Gegenseite? Nullmodemkabel?
Hab nen anderen Rechner über Nullmodemkabel angeschlossen und dort HTerm laufen.

Gibt es eine möglichkeit die einzelnen Bits selber zu setzten, also direkt zum Beispiel '10000000' in das Byte zu schreiben?
 

foobar

Top Contributor
Du hast bestimmt ein Encodingproblem, denn erst das Encoding bestimmt welchem Wert welches Zeichen entspricht. Daher auch mit Rat mit dem Hexeditor. Der lügt nie ;-)
 
G

Guest

Gast
Ja aber warum kommt denn dann auf der anderen Seite immer das gleich raus, wenn ich 128, 129, 130, 140,... reinstecke.
 

foobar

Top Contributor
Hm, vielleicht stimmt mit dem Kabel etwas nicht. Probiers mal mit Vmware oder einem V24Logger.
 
T

tuxedo

Gast
ihr wisst aber schon dass in Java bytes nicht von 0..255 gehen, sondern von -127..128???

- Alex
 
G

Guest

Gast
das ist mir bekannt... Aber ich glaube, genau da liegt das problem....
 
T

tuxedo

Gast
Was ist daran ein "Problem"? Du musst, wenn du unbedingt 0..255 nutzen willst, nur das Mapping machen, oder mal nach "unsigned byte" und "java" googeln/suchen.

- Alex
 
Status
Nicht offen für weitere Antworten.
Ähnliche Java Themen
  Titel Forum Antworten Datum
M RXTX Details auslesen Allgemeine Java-Themen 6
F rxtx library mit virtuellem Comport Allgemeine Java-Themen 2
T Outputstream write() gets blocked using RXTX to communicate with HC-05 BT Module Allgemeine Java-Themen 10
H RXTX String verarbeiten Allgemeine Java-Themen 1
S RxTx - langsame Port suche Allgemeine Java-Themen 3
L Software-Design: Kommunikation mit SerialPort (RXTX) Allgemeine Java-Themen 2
R Virtuelle Serielle Schnittstellen mit RXTX Allgemeine Java-Themen 2
G RXTX native library unter Linux in jar build angeben Allgemeine Java-Themen 4
M rxtx OutputStream sendet falsche werte Allgemeine Java-Themen 3
M problem mit rxtx Allgemeine Java-Themen 9
G RXTX in proprietärer Software nutzen?! Allgemeine Java-Themen 10
S RXTX library in Jar einbinden Allgemeine Java-Themen 5
T [RXTX] GPS-Maus (Comport) effizient auslesen Allgemeine Java-Themen 6
T RXTX und 64bit Allgemeine Java-Themen 1
R RXTX Versions Info abschalten Allgemeine Java-Themen 6
T Frage zu Schönheitsfehler bei RXTX Allgemeine Java-Themen 2
C RXTX Treiber einbinden für Linux Allgemeine Java-Themen 6
G RXTX library braucht sehr lange zum laden. Ist das normal? Allgemeine Java-Themen 8
B RXTX sendet immer mit 9600Baud Allgemeine Java-Themen 4
E Erfahrung mit RXTX sowie Windows und Linux Allgemeine Java-Themen 9
E javax.comm: Suche eine open source Alternative zu rxtx Allgemeine Java-Themen 8
O RXTX Geschwindigkeit? Codebeispiel dabei. Allgemeine Java-Themen 21
B RXTX und close Allgemeine Java-Themen 12
L Exception auslösen, um while Schlaufe zu verlassen(rxtx.org) Allgemeine Java-Themen 6
M Geschwindigkeit RXTX JAVA Allgemeine Java-Themen 3
foobar Rxtx vs javax.comm Allgemeine Java-Themen 2
N E-Mail per Java verschicken Allgemeine Java-Themen 2
M String Array Vector komprimieren und verschicken Allgemeine Java-Themen 3
J Wie kann man .txt Files übers Internet verschicken? Allgemeine Java-Themen 53
C Daten über URL an PHP verschicken Allgemeine Java-Themen 4
Mike90 Graph in einer Mail verschicken Allgemeine Java-Themen 7
M Asynchron Events verschicken... Allgemeine Java-Themen 2
G Double Wert über OutputStream verschicken Allgemeine Java-Themen 2
M SMS aus Desktop-Anwendung verschicken Allgemeine Java-Themen 8
reibi SMS mit Java verschicken Allgemeine Java-Themen 9
J E-Mails verschicken Allgemeine Java-Themen 33
T Audio streamen/verschicken Allgemeine Java-Themen 3
S JavaMail --> HTML-Mail verschicken? Allgemeine Java-Themen 7
K Mails verschicken ohne SMTP-Server Allgemeine Java-Themen 18
D mails auch als fax verschicken ? ? ? Allgemeine Java-Themen 2
A bestimmte Taste an Server verschicken Allgemeine Java-Themen 11
G mit Java Mails verschicken Allgemeine Java-Themen 7

Ähnliche Java Themen

Neue Themen


Oben