Krain Geschrieben 20. September 2005 Geschrieben 20. September 2005 Hallo zusammen, Ich brauche eine Möglichkeit mit Java auf die serielle Schnittstelle zuzugreifen. Ich habe es mit der comm-API von Sun versucht und zwar mit folgendem Code: Enumeration portList; portList = CommPortIdentifier.getPortIdentifiers(); while (portList.hasMoreElements()) { portId = (CommPortIdentifier) portList.nextElement(); if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) { // if (portId.getName().equals("COM1")) { if (portId.getName().equals("/dev/term/a")) { SimpleRead reader = new SimpleRead(); } } } [/PHP] Dummerweise ist die portList in diesem Beispiel immer leer und ich weiß nicht an was es liegen könnte. Zu meinem Vorhaben: Ich habe einen mobilen BarcodeScanner der die eingelesenen Scan zwischenspeichert. Dieser wird später an den Rechner angeschlossen und soll dort ausgelesen werden. Verbunden wird der Scanner über den seriellen Port am Rechner. Jetzt benötige ich eben eine Möglichkeit auf die Daten des Scanners zuzugreifen. Läßt sich das mit der Java NIO irgentwie machen, denn die comm-API scheint nicht zu funktionieren, oder ich verwende sie nur falsch (habe allerdings auch die zugehörigen Samples ausprobiert, welche auch nicht funktionierten.) Wer kann mir weiterhelfen? danke markus Zitieren
perdian Geschrieben 20. September 2005 Geschrieben 20. September 2005 Dummerweise ist die portList in diesem Beispiel immer leer und ich weiß nicht an was es liegen könnte.AFAIK benötigt javacomm noch native Libraries, um richtig zu arbeiten. Hast du die DLL/.SO auch mit eingebunden? Läßt sich das mit der Java NIO irgentwie machenNein, lässt sich nicht. Direkter Zugriff auf Hardware (nichts anderes ist die serielle Schnittstelle) erhältst du nur über Zusatz-Packages, und das einzige wirklich funktionierende, was mir bekannt ist wäre auch javacomm. Zitieren
Krain Geschrieben 20. September 2005 Autor Geschrieben 20. September 2005 Ich war eigentlich der Meinung es so gemacht zu haben, wie es in der Beschreibung stand, aber ich werde das nochmal durchgehen. Trotzdem danke. Ich melde mich wenn es was neues gibt. Zitieren
Krain Geschrieben 20. September 2005 Autor Geschrieben 20. September 2005 win32com.dll in c:/programme/java/jdk1.5.0/bin kopiert comm.jar+javax.comm.properties in c:/programme/java/jdk1.5.0/lib Danach habe ich in Eclipse die comm.jar als externe Jar-Datei in mein Projekt eingebunden und das Sample SimpleRead getestet. Folge war, dass keine Elemente in CommPortIdentifier.getPortIdentifiers(); waren. Was mache ich falsch? Zitieren
Krain Geschrieben 21. September 2005 Autor Geschrieben 21. September 2005 Das Problem besteht immer noch. Und ich finde meinen Fehler nicht. Weiß keiner mehr darüber? Java gibt mir auch keine Fehlermeldung oder ähnliches. Nur wenn ich explicit sage "Öffne COM1" bringt er die Meldung "Port not found" Ich weiß nicht mehr weiter. Gruss markus Zitieren
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.