www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Problem mit FT232R


Autor: Alex (Gast)
Datum:

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

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

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

Autor: Alex (Gast)
Datum:

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

Autor: Alex (Gast)
Datum:

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

Autor: Jens Carstens (jcarstens)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Alex wrote:
> Wie muß man es denn schreiben? "COM 14"?

Moin Alex!

Bei uns funktioniert schon seit Ewigkeiten (VC++):

com.Format("\\\\.\\COM%d",Port);

HTH

Jens

Autor: Alex (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
hey danke, es funzt jetzt!!
für was sind die "\\\\.\\" denn?

Gruß

Autor: Jens Carstens (jcarstens)
Datum:

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

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.