www.mikrocontroller.net

Forum: PC-Programmierung Probleme beim öffnen von COMx (x > 9)


Autor: domi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

mein Programm sendet und empfängt Daten über eine serielle 
Schnittstelle, die der Benutzer auswählen kann. Verfügbare 
Schnittstellen werden in einer Liste angezeigt und können angewählt 
werden.
Jetzt ist mir aufgefallen, dass bei COM-Ports mit der Nummer 10 oder 
höher nicht geöffnet werden können.

Öffnen tue ich sie hiermit:

hCom = CreateFile (port.GetBuffer(50), GENERIC_READ | GENERIC_WRITE, 0, 
NULL,OPEN_EXISTING, 0, NULL);

Port ist ein CString und z.B. "COM27" und ich verwende MS Visual Studio 
.NET 2003

CreateFile gibt aber kein gültiges handle (sondern 0xffffffff) zurück. 
Bei COM1 bis COM9 funktioniert das ganze problemlos.

Kann mir jemand helfen?

Gruß,
Domi



P.S.: Ja, ich weiß, dass ich die Schnittstellen im Gerätemanager 
umbenennen kann. Das hilft mir bei mehr als 10 seriellen Schnittstellen 
aber nicht weiter.

Autor: domi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert

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

Bewertung
0 lesenswert
nicht lesenswert
Für die, die den FTDI-Artikel nicht lesen wollen:

"\\.\COM27" anstelle von "COM27" verwenden.

Das betrifft alle Arten von seriellen Schnittstellen, nicht nur die 
von FTDI.

Beschrieben wird diese Syntax übrigens in der Dokumentation der 
Win32-API-Funktion CreateFile:

http://msdn2.microsoft.com/en-us/library/aa363858.aspx
To specify a COM port number greater than 9, use the following syntax: 
"\\\\.\\COM10". 
This syntax works for all port numbers and hardware that allows 
COM port numbers to be specified.

Die doppelten Backslashes sind C-Notation!

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.