Lesen und Schreiben von Daten über die serielle Java-Schnittstelle in einer Win7-Umgebung
Seit Kurzem wird in tatsächlichen Projekten die Java-Sprache benötigt, um das Lesen und Schreiben von Daten über die serielle Schnittstelle zu realisieren. Ich hätte das javax.comm-Paket verwenden können, aber nach mehreren Tests konnte ich den seriellen Port auf dem PC nicht lesen. Also habe ich das rxtx-Paket geändert und es unter Myeclipse8.6 getestet. Die Testergebnisse zeigten, dass die verfügbaren Ports des PC konnte bezogen werden.
Download-Adresse des RXTX-Pakets: http://rxtx.qbang.org/pub/rxtx/rxtx-2.1-7-bins-r2.zip
Nach dem Herunterladen und Dekomprimieren die Konfigurationsumgebung lautet wie folgt:
Legen Sie die rxtx-2.1-7-bins-r2Windowsi368-mingw32 xtxSerial.dll
in das Download-Paket unter Ihrem %java_home%jre bin (%java_home%jre bin xtxSerial .dll)
Fügen Sie die Datei rxtx-2.1-7-bins-r2RXTXcomm.jar in das Download-Paket unter %java_home%jre lib ext ein. Hinweis: %java_home% installiert das JDK für Sie
Wenn es MyEclipse ist, ist die Standard-JRE Program FilesGenuitecCommonbinarycom.sun.java.jdk.win32.x86_1.6.0.013, daher müssen die oben genannten Dateien im entsprechenden Verzeichnis der JRE abgelegt werden Folgendes finden Sie in Myeclipse Referenz RXTXcomm.jar, wählen Sie den Build-Pfad des Projekts aus, wählen Sie Build-
Pfad konfigurieren, wählen Sie Bibliotheken aus, klicken Sie auf die Schaltfläche „Exteral hinzufügen“
JARS, suchen Sie RXTXcomm.jar im Pop- Öffnen Sie das Dialogfeld, und wählen Sie es aus. Klicken Sie dann zum Öffnen auf OK.
Okay, jetzt können Sie das Programm schreiben. Überprüfen Sie zunächst, ob Sie die serielle Schnittstelle auf Ihrem PC erhalten können. Das Programm lautet wie folgt:
Pakettest;
import java.util.Enumeration;
import gnu.io.*;
public class TestSerial {
@SuppressWarnings("unchecked")
statisch Enumeration
portList;
static CommPortIdentifier portId;
public static void main(String[] args) {
try {
portList = CommPortIdentifier.getPortIdentifiers();
//Den Port auf der aktuellen Verbindung abrufen
while (portList.hasMoreElements()) {
portId = (CommPortIdentifier) portList.nextElement ();
if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL)
{//Bestimmen Sie, ob der Porttyp ein serieller Port ist
//if (portId.getName ().equals("COM3")) { //Beurteilen Sie, ob der COM3-Port gestartet wurde und verbinden Sie
System.out.println(portId.getName());
}
}
//}
} Catch (Ausnahme e) {
e.printStackTrace();
}
}
}
Testergebnisse:
Stabile Bibliothek
============ ========= ====================Native lib Version = RXTX-2.1-7
Java lib Version = RXTX- 2.1-7
COM1
Weitere Artikel zum Betrieb der seriellen Java-Schnittstelle finden Sie unter PHP Chinesische Website!