C#: FTDI über VCP finden

Gast #1523774
Hallo!

Ich bastle gerade ein wenig rum und will zwei kleine Platinen an meinen 
Rechner anschließen. Dafür verwende ich jeweilss FT232.

Die Software zur Ansteuerung der Platinen schreib ich in C#.
Meine erste Frage war ob ich den D2xxx- oder den VCP-Treiber nehme.
Der VCP scheint mit -für einen Laien- um ein vielfaches einfacher zu 
sein.

Die Frage ist, wie ich jetzt meine angeschlossenen Geräte finde.
Muss immer nach schauen, welche COM angelegt wurden und diese eingeben. 
Und dann kann es vorkommen, dass ich den Port von Platine 1 für Platine 
2 verwende und umgekehrt.
Kann man das irgendwie automatisieren? D.h. es werde einfach die 
COM-Ports gescannt und meine Platinen gefunden. Und auch gleich erkannt, 
welche die 1 und welche die 2 ist? Kann man das über die VID & PID 
machen?

Danke für eure Hilfe!

Gruß
Phil
Gast
Das würde mich auch interessieren. Gibt es in Windows die möglichkeit 
den Gerätenamen (bei FTDI Standartmäßig "USB-Serial Cable" oder so) zu 
suchen und den entsprechenden COM-Port zurück zu bekommen?
Ich habe als Lösung für Arme unter VB 6 folgende Lösung gewählt:

Beim Programmstart lasse ich DevCon.EXE mit Umleitung in eine Datei 
laufen:

  ShellAndWait "cmd.exe /C c:\X\devcon find USB\VID_0177* > " & 
USB_INFO_FILE  ' ??? Geräte
  ShellAndWait "cmd.exe /C c:\X\devcon find FTDIBUS\* >> " & 
USB_INFO_FILE     ' VCOM ports

In der Datei finden sich dann die Informationen wie Serien- und 
Portnummern
Geht alles bequem über die Registry:

1. In HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\FTDIBUS 
nachschauen, wieviele und welche FTDI Geräte installiert sind. Aus denen 
kannst du dann das passende raussuchen (Seriennummer steht ja mit dran).

In jedem der Reg-Ordner gibts dann einen Ordner \0000\DeviceParameters\ 
dort befindet sich die aktuell zugewiesene COM-Port-Nummer.

2. Mit der COM-Port-Nummer in 
HKEY_LOCAL_MACHINE\HARDWARE\DEVICEMAP\SERIALCOMM nachschauen, ob der 
momentan auch wirklich dran steckt.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 16 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.