C#: FTDI über VCP finden

Gast #1523774
Lesenswert?
• ▲
▼
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 #1523778
Lesenswert?
• ▲
▼
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?
#1523863
Lesenswert?
• ▲
▼
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
#1524252
Lesenswert?
• ▲
▼
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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren