Virtual COM Port Problem

Gast #2893460
Lesenswert?

Hallo,

ich möchte mit VB ein Board mit Virtual COM Port ansprechen. Wie im Bild 
zu sehen, wird der Port erkannt (COM5), aber beim Öffnen kommt:

IOException: Ein an das System angeschlossenes Gerät funktioniert nicht.

Mit einem Terminalprogramm funktioniert es, am Virtual COM Port Treiber 
liegt es also nicht. Was kann es sein? Time-Out Problem? Hier der Code:

SerialPort.PortName = cmbPort.Text
SerialPort.BaudRate = cmbBaud.Text
SerialPort.Parity = IO.Ports.Parity.None
SerialPort.StopBits = IO.Ports.StopBits.One
SerialPort.DataBits = 8
SerialPort.Open()

Danke!
Lothar
Angehängte Dateien:
Gast #2893935
Lesenswert?

>> Hier der Code:
> IOException: Ein an das System angeschlossenes Gerät funktioniert nicht.
Schön. Und an welcher Zeile tritt der Fehler auf?
Ist der Port von einer anderen Software belegt? Wird er zweimal von 
deiner Software geöffnet? Wird der Text der Comboboxen automatisch in 
Zahlen konvertiert? Funktioniert das ganze mit dem echten COM-Port? Kann 
ein anderes VB-Programm auf die Schnittstelle zugreifen?

Ralf
Gast #2895360
Lesenswert?

Timmo H. schrieb:
>>SerialPort.BaudRate = cmbBaud.Text
> wird da nicht ein Integer erwartet? Du übergibts ja einen String. Da
> müsste doch auch der Compiler meckern, oder?

Daran liegt es nicht. Ich nehme an dieses .NET Objekt ist "überladen" 
und nimmt Integer oder Strings. Aber auch direkt mit Integer 9600 bleibt 
das Problem. Anbei ein Screenshot vom Debugger. Es muss ein Time-Out 
Problem sein.
Angehängte Dateien:
Gast #2896907
Lesenswert?

Das riecht für mich ziemlich stark nach einem Treiber-Problem.
Da set_DtrEnable fehlschlägt wird der Treiber wohl Probleme mit 
SerialPort.DtrEnable=false haben.

...bzw. IOCTL_SERIAL_CLR_DTR und/oder IOCTL_SERIAL_SET_DTR nicht richtig 
implementiert haben. Kann mit Tools wie Portmon überprüft werden:
http://technet.microsoft.com/de-de/sysinternals/bb896644.aspx

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