Fragen zu COM-Ports

Für alles, was in den übrigen Lazarusthemen keinen Platz, aber mit Lazarus zutun hat.
Antworten
haderlump
Beiträge: 185
Registriert: Fr 18. Jan 2013, 09:29
OS, Lazarus, FPC: Windows 10, Windows XP, Lazarus 1.6
CPU-Target: Celeron

Fragen zu COM-Ports

Beitrag von haderlump »

Hallo zusammen.
Ich arbeite gerade an einer Modellbahnsteuerung. Dabei muss ich mit 3 Com-Ports mit Teilen der Anlage communizieren. Ein Com-Port ist bereits onboard, die anderen beiden werden über USB-COM Ports realisiert. Der Rechner ist ein Notebook. Das Notebook muss ich immer wieder abstecken, da ich es anderweitig auch benötige.
Nun meine Fragen:
Wie kann ich garantieren, dass die USB-Geräte nach dem Wiederanstecken auf dem gleichen COM-Port landen.
Wenn nicht, habe ich mir folgendes Konzept ausgedacht, ist wahrscheinlich sowieso die bessere Variante:
Ich schicke eine kurze Message an das Periphereigerät, diesen antwortet dann und das Programm kann die Schnittstelle eindeutig zuordnen.
Wie kann ich aus dem laufenden Programm vom Betriebssystem erfahren, welche Com-Schnittstellen installiert sind (Es gibt da auch noch einen Sack voll Comports (whrscheinlich virtuel) die offensichtlich von Bluetouth stammen) ?

Vielen Dank im Voraus

Fritz

Socke
Lazarusforum e. V.
Beiträge: 3158
Registriert: Di 22. Jul 2008, 19:27
OS, Lazarus, FPC: Lazarus: SVN; FPC: svn; Win 10/Linux/Raspbian/openSUSE
CPU-Target: 32bit x86 armhf
Wohnort: Köln
Kontaktdaten:

Re: Fragen zu COM-Ports

Beitrag von Socke »

haderlump hat geschrieben:Wie kann ich garantieren, dass die USB-Geräte nach dem Wiederanstecken auf dem gleichen COM-Port landen.

Da fragst du am besten dein Betriebssystem. Mein Glaskugel sagt mir, dass du ein selbst programmiertes Betriebssystem nutzt, und daher kann ich dir keine Hinweise geben, wie das geht (kann ich bei den anderen Betriebssystemen auch nicht :D).
haderlump hat geschrieben:Ich schicke eine kurze Message an das Periphereigerät, diesen antwortet dann und das Programm kann die Schnittstelle eindeutig zuordnen.
Wie kann ich aus dem laufenden Programm vom Betriebssystem erfahren, welche Com-Schnittstellen installiert sind (Es gibt da auch noch einen Sack voll Comports (whrscheinlich virtuel) die offensichtlich von Bluetouth stammen) ?

Hier gibt es zwei Möglichkeiten:
  1. Alle bekannten ausprobieren (Windows COM0 bis COM9 oder besser alle Ports nach UNC-Namen)
  2. Das Betriebssystem fragen (siehe oben)
  3. Glaskugel verwenden oder wild ins Blaue raten
  4. P.S./Edit: eventuell haben die bekannten Komponenten (Synaser uns andere) bereits fertige Methoden dafür
MfG Socke
Ein Gedicht braucht keinen Reim//Ich pack’ hier trotzdem einen rein

Antworten