Liste aller Com-Ports - zweistellige Ports?

J

Jezira

Gast
Hallo,

ich hab da mal eine Frage.
Ich fuddel seit einer Weile mit Kommunikation über Com-Ports rum(mit rxtx), klappt auch bisher alles super. Nur habe ich nun mehr als 9 Com-Ports und hätte diese gern zur Auswahl in einer Dropbox. Mit weniger als 9 geht das auch sehr schön...
Aber egal was ich mache, er kann mir alles über 9 nicht ermitteln. Warum? Und wie komm ich an Port 10, 11, 12 usw?

Ich hoffe mir kann da jemand helfen!

Stelle im Code, die mir diese Liste ausgeben soll(und bis 9 auch tut!):

Java:
        private void setAvailabelPorts()
	{
		Enumeration portList = CommPortIdentifier.getPortIdentifiers();
		
		ports.add(" -- ");
		
		while (portList.hasMoreElements()) 
		 {
			CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();
		 
		        if (portId.getPortType() == CommPortIdentifier.PORT_SERIAL) 
		        {
		        	ports.add(""+portId.getName());
		        }
		 }
	}

Hilfeee... ;o)
 
J

Jezira

Gast
Programm läuft ordentlich weiter... keine Fehlermeldungen.. nichts...

Es macht was es soll, nur stehen sämtliche Ports ab 9 nicht in der Liste.

Angeblich gibt es dann keine Einträge mehr, konnte ich dem Debugger entnehmen. Damit geht er aus der Schleife raus und gibt mir meine Liste raus mit den Ports bis 9... *grummel*

Kontrolle mit anderen Terminalprogrammen zeigten mir auch immer brav alle Ports an... Treiber sind richtig installiert.
 
N

nillehammer

Gast
Interessant. Das Problem hatte ich noch nicht. Habe aber auch keinen Rechner mit so vielen COM-Ports. Deswegen kann ich es leider nicht nachstellen. Ich habe darum im Internet nach diesem Fehler gesucht. Aber nichts gefunden. Da ich es für sehr unwahrscheinlich halte, dass Du jetzt der erste bist, der diesen Fehler gefunden hat, würde ich die Ursache in Deinem Code vermuten.

Der von Dir gepostete Code sieht gut aus (erstmal). Um alle Seiteneffekte auszuschließen (zeigt das GUI-Element evtl. einfach nur 10 Einträge an?), baue mal ein Log-Statement wie folgt in Deinen Code ein.
[JAVA=9]
CommPortIdentifier portId = (CommPortIdentifier) portList.nextElement();
System.out.println(portId.getName());
[/code]
Das wird dir alle Ports (auch nicht seriell) ausgeben, die die COMM-API meint zu haben. Falls das dann auch zu wenig Ports ergibt, liegt es wirklich an der API-Implementierung. Dann bleibt Dir nur ein Wechsel zu bspw serialio. Das ist aber leider nicht kostenlost.
 
J

Jezira

Gast
Ja, das ist es ja. Ich glaube auch kaum das ich die erste bin, die so ein Problem hat. Finden konnte ich allerdings auch nichts dazu... verhext -.-

Log und Debug ergeben das die API wirklich meint nach 9 wäre Schluß. Habs grad nochmal durch laufen lassen. Kann doch nicht sein das es nur bis 9 möglich ist, das kann ich mir nicht vorstellen...

Ein Wechsel auf kommerzielle Software geht nicht. :eek:(
 
G

Gast2

Gast
Gerade mal bei mir getestet, da ich damit noch nie Probleme hatte: Weder unter XP noch Vista noch Win7. Hier mal Testcode zum auflisten:

Java:
    public ArrayList<String> getAvailableSerialPorts() {
        final ArrayList<String> portList = new ArrayList<String>();
        @SuppressWarnings("rawtypes")
        final Enumeration thePorts = CommPortIdentifier.getPortIdentifiers();
        while (thePorts.hasMoreElements()) {
            final CommPortIdentifier com = (CommPortIdentifier) thePorts.nextElement();
            switch (com.getPortType()) {
            case CommPortIdentifier.PORT_SERIAL:
                portList.add(com.getName());
            }
        }
        return portList;
    }

Ausgespuckt wurden COM1 3 und 14
 
J

Jezira

Gast
PS:

Habe aktuell 6 Ports, welche ich aber umbelegt habe auf COM5-COM11. Ist für spätere Anwednungen so nötig, sonst könnt ichs bei 1-6 lassen. Vielleicht kann mans so nachvollziehen.
 
J

Jezira

Gast
Gerade mal bei mir getestet, da ich damit noch nie Probleme hatte: Weder unter XP noch Vista noch Win7. Hier mal Testcode zum auflisten:

Java:
    public ArrayList<String> getAvailableSerialPorts() {
        final ArrayList<String> portList = new ArrayList<String>();
        @SuppressWarnings("rawtypes")
        final Enumeration thePorts = CommPortIdentifier.getPortIdentifiers();
        while (thePorts.hasMoreElements()) {
            final CommPortIdentifier com = (CommPortIdentifier) thePorts.nextElement();
            switch (com.getPortType()) {
            case CommPortIdentifier.PORT_SERIAL:
                portList.add(com.getName());
            }
        }
        return portList;
    }

Ausgespuckt wurden COM1 3 und 14

Danke dafür! Habs grad ausprobiert:
letzter Eintrag Com9

Nun woran liegts? Ich versuchs gleich mal auf nem anderen Rechner, vielleicht hakts hier irgendwo...
 
T

tröööt

Gast
ich würde einfach mal von kaputten treibern der virtuellen ports ausgehen ...

ein rechner hat hardware mäßig in der regel genau 2 physische COM-ports ... viele BIOS unterstützen bis zu 4 physische COM-ports ... welche aber selten verbaut wurden ... alles was COM5 und höher ist ist demnach irgendwie virtuell ... was durch irgendwelche software-treiber wie bluetooth und andere hervorgerufen wird ... z.b. control-ports von embedded geräten wie android-smartphones ...

ich gehe einfach mal davon aus das der treiber nicht richtig funktioniert und die überflüssigen ports nicht wieder aus dem geräte-system de-registriert ... und somit halt nur noch leichen angezeigt werden die gar nicht mehr da sind ...

sollte auch mal geprüft werden
 
J

Jezira

Gast
Um genau zu sein habe ich 5 "echte" serielle Ports(9-polige Stecker) und wenn ich es drauf anlege 4 weitere über USB-Wandler. Egal welchen Port ich wohin lege, unter 9 gehts hervorragend, lege ich die auf >9 sind sie laut Program nicht da. Andere Programme zeige dabei sehr wohl alle Ports an und sind damit auch Kommunikationsfähig.

Teste allerdings gerade mit den USB-Wandlern(wie gesagt, die machten nie Probleme), verlege das nun mal auf die tatsächlich vorhandenen Ports. Leider sind im Endsystem später nur noch die Wandler vorhanden.

Richte gerade die Entwicklungsumgebung auf zwei weiteren Rechnern ein um das dort mal zu probieren.
 
J

Jezira

Gast
Also gut, auf anderen Rechnern läufts und alle Ports stehen in der Liste!
Gut zu wissen, ich bin nich zu doof...

Schlecht ist das es das Problem nun nicht besser macht. Aber wenigstens liegts an den Rechnereinstellungen/Instalationen/Treibern. Wird sich hoffentlich noch rausfinden lassen!

Danke für die vielen Tipps! Ich sag Bescheid wenn ich was finde!
 
T

tröööt

Gast
ok ... das es systeme mit mehr als 4 physischen anschlüssen gibt ist mir klar .. muss es ja ... z.b. SPS und so ... aber in der regel hat ein "normaler" IBM-kompatibler PC 2 bis 4 COM ports ... weil dem entsprechend auch die BIOS aufgebaut sind ...
klar kann man seinen rechner mit zusatz-karten und USB-wandlern zukrachen ... aber für eine richtig COM-verbindung sind die direkt auf dem board vorhandenen ports zu bevorzugen ...

auch haben gerade USB-wandler das problem das diese nur mit +5V / 100/500mA laufen ... COM hat aber +15V mit ich glaube 2A ... geräte die also physisch auf die eigenschaften von COM angewiesen sind funkionieren damit normalerweise nicht ... allerdings wird heutzutage in fast allen geräten mit COM intern die gleiche USB-wandler schaltung genutzt ... da die meisten arbeiten halt mit laptops und solche USB-wandler-kabeln gemacht werden ...
 
J

Jezira

Gast
Genau wegen Laptop, mit Anschluß für 8 serielle Geräte, brauche ich die Wandler. Mein Entwicklungs-PC hier ist nicht wirklich Otto-Normal-PC *g*

Habe mal die Treiber erneuert, erstaunlicher Weise funzt das Ganze nun sobald ich die Entwicklungsumgebung verlasse. In Eclipse gehts nach wie vor nicht, aber damit könnt ich leben. Frage mich nur warum das so ist.
 
N

nillehammer

Gast
Habe mal die Treiber erneuert, erstaunlicher Weise funzt das Ganze nun sobald ich die Entwicklungsumgebung verlasse. In Eclipse gehts nach wie vor nicht, aber damit könnt ich leben. Frage mich nur warum das so ist.
Nur Spekulation, verwendest Du für Eclipse evtl. ein anderes JDK als außerhalb? Außerhalb vielleicht sogar "nur" ein JRE?
 
J

Jezira

Gast
Hallo,

gute Spekulation! Habe alles auf dasselbe JDK eingestellt, in Eclipse nochmal umgestellt. Neustart und es ging tatsächlich!

Danke euch! Hab schon gedacht ich sei zu blöd dafür ;o)
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
B Liste aller Kombintionen mit Einschränkungen Allgemeine Java-Themen 8
S AWT Wie bekomme ich eine Liste aller chars in einem Font? Allgemeine Java-Themen 3
K Liste aller implementierenden Klassen einer Oberklasse anzeigen Allgemeine Java-Themen 4
I Liste aller bekannten Packages Allgemeine Java-Themen 6
Fynn29 Liste sortieren ohne Array und ohne vorgegebene Sortierung Allgemeine Java-Themen 24
MiMa Filtern von TableView Liste Allgemeine Java-Themen 2
TheSepp Wie kann man Leerzeichen aus einer Array liste entfernen? Allgemeine Java-Themen 10
B Liste ändern während Iteration über Diese? Allgemeine Java-Themen 16
D Erste Schritte Liste erweitern Allgemeine Java-Themen 11
sserio Variablen Liste erstellt und ein Problem mit dem Index Allgemeine Java-Themen 6
L allgemein Strings händisch in Liste sortieren Allgemeine Java-Themen 47
M einfach verkettete Liste verstehen Allgemeine Java-Themen 23
Drachenbauer wie kann ich alle instanzen einer Klasse durchsehen, ohne, dass diese in einer Liste erzeugt wurden? Allgemeine Java-Themen 11
Gaudimagspam Skip Liste erstellen in Java Allgemeine Java-Themen 3
G Java Editor Löschen doppelter Zahlen einer Liste Allgemeine Java-Themen 2
bueseb84 Spring Boot Entity mit Liste Allgemeine Java-Themen 4
MiMa Werte in liste speichern? Allgemeine Java-Themen 3
Curtis_MC Collections Liste anhand mehrere Kriterien sortieren Allgemeine Java-Themen 6
K verkettete Liste Allgemeine Java-Themen 3
G Liste (UsageStats) sortieren (Android) Allgemeine Java-Themen 5
T Google Links in einer Liste Allgemeine Java-Themen 4
looparda Liste filtern nach Prädikaten verschiedener Typen Allgemeine Java-Themen 3
OSchriever Einfach verkettete Liste ändern Allgemeine Java-Themen 43
L Liste überschreibt alte Elemte Allgemeine Java-Themen 10
H Länge einer verketteten Liste Allgemeine Java-Themen 4
E Erstellen einer Liste mit einer maximalen Menge an Elementen Allgemeine Java-Themen 13
P Element einer Liste wurde hinzugefügt, aber es gibt keinen Zugriff Allgemeine Java-Themen 2
S Methoden Liste soll Methode aus innerer Klasse aufrufen Allgemeine Java-Themen 4
L Erste Schritte Liste von Datums filter nach Monate Allgemeine Java-Themen 4
Y Liste in Stream Packen Allgemeine Java-Themen 1
K Einfache Verkettete Liste mit Node Allgemeine Java-Themen 3
perlenfischer1984 Reflection : Element in generische Liste hinzufügen Allgemeine Java-Themen 4
perlenfischer1984 Liste mit generics zurück liefern Allgemeine Java-Themen 8
S Verkettete (Teil)Liste sortieren ( rekursiv bis n) Allgemeine Java-Themen 2
G Liste zwischen zwei Kalenderdaten erstellen Allgemeine Java-Themen 3
B Wie vergleiche ich Strings in einer Liste? Allgemeine Java-Themen 5
Viktim Threads Liste In unterschiedlichen Threads bearbeiten Allgemeine Java-Themen 23
A Collections Inhalt einer Liste mit Inhalt anderer Liste vergleichen ? Allgemeine Java-Themen 7
I Abstrakte Datentypen - Liste Allgemeine Java-Themen 9
D Datentypen Klassenattribut aus Objekt in generischer Liste Allgemeine Java-Themen 15
P Liste zu Objekt umwandeln Allgemeine Java-Themen 4
Z In die Liste kann ich nichts adden Allgemeine Java-Themen 16
C Liste checken auf MINDESTENS ein Objekt | Bukkit Allgemeine Java-Themen 3
M liste von listen anders ausgeben Allgemeine Java-Themen 1
B Per Buttonklicks einer Liste Wörter hinzufügen - Wie umsetzen? Allgemeine Java-Themen 11
H Liste sortieren anhand optionalem Property Allgemeine Java-Themen 3
L Liste führt sich nicht weiter Allgemeine Java-Themen 5
A Input/Output Liste der Dateien in einem Ordner in einer Jar Datei erhalten Allgemeine Java-Themen 11
J Fragen zu generischer doppelt verketteter Liste (bei fehlendem Grundverständnis) Allgemeine Java-Themen 1
B Prüfen, ob ein Element in der Liste nicht existiert Allgemeine Java-Themen 3
B Klassen JTable mit einer Liste Allgemeine Java-Themen 0
X HTTP Auslesen der Ergebnisse von einer Webseite und in eine Liste packen Allgemeine Java-Themen 1
A Auslesen einer Datei sowie ausgeben als Liste in App Allgemeine Java-Themen 5
E Liste löscht sich selbstständig Allgemeine Java-Themen 5
H Liste von Objekten generisch sortieren Allgemeine Java-Themen 0
D Liste anhand Standardnormalverteilung befüllen Allgemeine Java-Themen 1
M Threads synchroner Zugriff (add/delete/read) auf eine Liste Allgemeine Java-Themen 6
T Datentypen Eine Liste - verschiedenen Klassen - eine Abstracte Klasse Allgemeine Java-Themen 3
M Werte aus DB in Liste speichern ohne mehrfach speicherung Allgemeine Java-Themen 18
G Liste anzahl der gleichen Objekte Allgemeine Java-Themen 6
S Pattern.Match Suche: For Schleife einbinden und in Liste schreiben Allgemeine Java-Themen 3
O aus Liste ein beliebiges Element auswählen Allgemeine Java-Themen 7
O MVC - wo Liste der ComboBox-Items ermitteln Allgemeine Java-Themen 3
MiMa Liste von Pfaden in eine textArea schreiben Allgemeine Java-Themen 7
K kontinuierlich aktuelle Bestellsystem-Liste mit farbigem Status Allgemeine Java-Themen 2
A Auswählbare Liste Allgemeine Java-Themen 2
D Sortieren von Liste zu unperformant Allgemeine Java-Themen 6
N Liste gesucht Allgemeine Java-Themen 2
Z Sortiertes Einfügen in doppelt verkettete Liste Allgemeine Java-Themen 5
S Probleme beim Auslesen einer Liste Allgemeine Java-Themen 8
O JSON String bauen aus Liste Allgemeine Java-Themen 2
M Über Liste verschiendene JComponents mit eigenem implementierten Interface ansprechen Allgemeine Java-Themen 7
T Hashmap mit geordneter/ungeordneter liste als Value Allgemeine Java-Themen 5
D Zugriff auf Array-Liste Allgemeine Java-Themen 19
S Threads Liste mit Objekten in Teillisten zerlegen und abarbeiten Allgemeine Java-Themen 3
R ThreadPool - vorhandene thread liste überprüfen bzw. aufräumen Allgemeine Java-Themen 3
pg1337 Liste füllen Allgemeine Java-Themen 2
U Große Liste von Strings mit indiziertem Zugriff Allgemeine Java-Themen 31
B Properties File Liste Allgemeine Java-Themen 3
Gossi Collections Liste zusammenfassen für JSP Allgemeine Java-Themen 4
Gossi Collections (Unbekannte) Liste Sortieren Allgemeine Java-Themen 10
T Collections Liste schnell/nebenläufig durchgehen Allgemeine Java-Themen 2
M Objekt aus Liste in Liste suchen/löschen Allgemeine Java-Themen 6
Q "Doppelte" Einträge einer Liste entfernen Allgemeine Java-Themen 14
C Exponentielle Verteilung in einer Liste Allgemeine Java-Themen 7
Nic.o liste der installierten Zertifikate ?! Allgemeine Java-Themen 3
T Liste mit GregorianCalendar-Objekten in List einlesen, mit Collection sortieren und ausgeben Allgemeine Java-Themen 3
M Verständnisfragen bezüglich Liste Allgemeine Java-Themen 3
J Zeichenketten-Liste filtern Allgemeine Java-Themen 6
S Aus einer Liste<Oberklasse> alle Elemente die eine bestimmte Unterklasse von Oberklasse haben filter Allgemeine Java-Themen 8
M Eintrag verschwindet aus Liste Allgemeine Java-Themen 3
E Objekte in einer Liste suchen. Allgemeine Java-Themen 4
I Über eine Liste iterieren und Objekte löschen. Wie löst man das sauber? Allgemeine Java-Themen 5
reibi Kopie einer Liste Allgemeine Java-Themen 4
N Liste mit Map abgleichen extrem langsam Allgemeine Java-Themen 6
C Darstellung der Liste bei vielen Daten extrem langsam Allgemeine Java-Themen 11
T Liste sortieren Allgemeine Java-Themen 6
L Objekte in Liste packen Allgemeine Java-Themen 2
N Liste aendern waehrend des iterierens ueber selbige Allgemeine Java-Themen 11
B Datenstruktur: Liste Allgemeine Java-Themen 5

Ähnliche Java Themen

Neue Themen


Oben