mikrocontroller.net

Forum: PC-Programmierung C#: FTDI über VCP finden


Autor: Phil (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

: Verschoben durch Moderator
Autor: ich (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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?

Autor: Einhart Pape (einhart)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Christian R. (supachris)
Datum:

Bewertung
0 lesenswert
nicht 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.

Autor: Willivonbienemaya .. (willivonbienemaya)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich würde die FTD2XX_NET.dll empfehlen.
Damit ist das kommunizieren mindestens genauso einfach wie über den VCP.

Ausserdem gibts da Funktionen wie: "GetCOMPort"
Ratet mal was die zurückgibt.

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.