Wie lese ich einen text aus einem seriellen port?

Ich versuche, das Lesen von Daten aus einer Windows-serial-port über Java. Ich habe die javax.comm-libraries und bin in der Lage zu bekommen, einige Daten, aber nicht die korrekten Daten. Wenn ich lese den port in ein byte-array und wandelt es in text, den ich erhalten eine Reihe von Zeichen, aber ohne richtigen text-string. Ich habe versucht, geben Sie die byte-array als "UTF-8" und "US-ASCII". Weiß jemand, wie man den eigentlichen text, der aus diesem?

Hier ist mein code:

while (inputStream.available() > 0) {
 int numBytes = inputStream.read(readBuffer);
 System.out.println("Reading from " + portId.getName() + ": ");
 System.out.println("Read " + numBytes + " bytes");
}

System.out.println(new String(readBuffer));
System.out.println(new String(readBuffer, "UTF-8"));
System.out.println(new String(readBuffer, "US-ASCII"));

die Ausgabe der ersten drei Zeilen wird nicht lassen Sie mich kopieren und einfügen (ich nehme an, weil Sie keine normalen Zeichen). Hier ist die Ausgabe der Hex:
78786000e67e9e60061e8606781e66e0869e98e086f89898861878809e1e9880

Lese ich von einem Hollux GPS-Gerät, das keine Ausgabe in string-format. Ich weiß dies sicher, weil ich habe es mit C#.

Den Einstellungen, die ich benutze für die Kommunikation, die ich kenne, sind direkt von der Arbeit in der C# - app sind:
Baud-Rate: 9600
Databits: 8
Stop-bit: 1
Parität: keine

  • Seigel - ich bemerkte Sie retagging zu bereinigen, die serial und port - tags. Ich denke, dass die favorisierte tag ist eigentlich serial-port. Vielen Dank für die Aufräumarbeiten!
InformationsquelleAutor beyerss | 2009-01-27
Schreibe einen Kommentar