Problem mit FT232R

Gast #551525
Lesenswert?


 Hi Leute,

 ich habe zwei test USB/SERIAL Platinen, die eine mit dem FT2232C und 
die
 andere mit FT232R.
 Wenn ich die am PC anschliesse sehe im Geräte-Manager, die virtuellen 
COM-
 Schnittstellen. Wenn ich aber die
  "CreateFilecom,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,\
      FILE_FLAG_OVERLAPPED,0);
 aufrufe kriege ich bei dem FT232R ein INVALID_HANDLE_VALUE als
 Rückgabe!!! und kann auf die Schnittstelle nciht mehr zugreifen im
 Gegenteil zu FT2232C!!! an was könnte das liegen!!!!!!


 Gruß
Persönliche Seite #551577
Lesenswert?

"CreateFilecom,GENERIC_READ|GENERIC_WRITE,0,0,OPEN_EXISTING,\
      FILE_FLAG_OVERLAPPED,0);


Da fehlt 'ne Klammer. Und der Text, den Du in der Variablen "com" 
angibst. Der nämlich muss bei Schnittstellen jenseits von "COM9" anders 
aufgebaut werden.

Wenn CreateFile INVALID_HANDLE_VALUE zurückgibt, kann man mit 
GetLastError den Fehlercode bestimmen. Wie lautet der?

PS: Ein Satzzeichen pro Satz genügt. Fragen werden übrigens mit anderen 
als den von Dir verwendeten Satzzeichen beendet.
Gast #551623
Lesenswert?

 Hallo,
 ich muss mich erstmal für das schlechte Formatieren meiner gestrigen 
Anfrage entschuldigen.

 Das mit der Klammer ist nicht das Problem, gestern beim koppieren ist 
irgendwie die eine verschwunden.

 In meiner Funktion versuche ich einfach alle existierende Com-Ports 
aufzulisten, dafür lade ich den Namen vorher mit
1
 com.Format("COM%i",i,com);
 und dann rufe ich die CreateFile(..), bei dem Ft232R kriege ich einen 
FehlerCode = 2, (No such file or directory), mit dem FT2232 klappt es 
ohne Probleme, obwohl virtuelle Coms bei beiden Bausteine existieren!!! 
kann das an der Platine liegen? wartet irgendwie CreateFile() beim 
Öffnen auf irgendeine Antwort von der Com-Schnittstelle?

PS. das mit "Der nämlich muss bei Schnittstellen jenseits von "COM9" 
anders
aufgebaut werden" habe ich nicht ganz verstanden, bitte um Erklärung 
wenn es geht.

 Gruß
Gast #551660
Lesenswert?


Hallo nochmal,

das Problem liegt an der Nummer der Schnittstelle, bei dem Ft232R kriegt 
COM14, beim dem FT2232 COM6, und COM7. Ich glaube das Problem liegt an 
der Schreibweise von dem "COM"-String, wenn die Nummer größen als 9 ist.
Wie muß man es denn schreiben? "COM 14"?
#551930
Lesenswert?

Na, das freut mich!

Das "\\.\" (wie es nachher im String steht) ist der UNC-Pfad für lokale 
Laufwerke und Geräte unter Windoofs, siehe Wikipedia->UNC.

Warum diese Angabe allerdings in dieser Form für COM-Ports über 10 bei 
Windoofs erforderlich ist, bei den darunter auch die Angabe ohne den 
Schnickschnack vorweg, dass wissen wohl einzug und allein die 
Programmieraffen in Redmond. Wenn überhaupt...

Ich habe den Tip auch vor einigen Jahren von Druidenohr zu Druidenohr 
erfahren. Vielleicht hilft dieser Thread ja auch in Zukunft den 
Verirrten und Verzweifelten ;-)

IdS,
Jens

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