Microchip CDC Problem beim Reset des PICs

Gast #666729
Lesenswert?

Hallo,

ich hab eine Frage bezüglich des Microchip CDC-Treibers, mit dem es 
möglich ist über einen virtuellen Com-port per USB mit dem PIC zu 
kommunizieren. In meiner Anwendung benutzte ich einen Pic 18f4550.

Problem:
Die Kommunikation über Hyperterminal oder über ein Labview-VI 
funktioniert soweit recht gut. Wenn ich schon mal Daten über USB 
gesendet habe, also den Port geöffnet habe und dann den Pic per 
Resettaster resete funktioniert die Verbindung leider nicht mehr.

Gibt es irgend eine Möglichkeit die Verbindung trotz eines Resets 
wiederherzustellen ohne zuvor die Verbindung mit "disconnect" zu 
beenden?
Das gleiche Problem besteht auch, wenn man den USB-Stecker aus- und 
wieder einsteckt, was bei USB-Geräten beim laufenden Betrieb 
normalerweise kein Problem darstellen sollte.

Vielen Dank für eure Antworten
#666738
Lesenswert?

Das ist kein Problem vom PIC oder der CDC Implementierung, das ist ein 
Problem von Hyperterminal und Labview.

Sobald du einen Reconnect ausführst (Reset macht auch nix anderes) 
deaktiviert Windows den CDC Treiber, und alle offenen Handles darauf 
werden ungültig. Danach aktiviert es den Treiber wieder, aber die 
ungültigen Handles werden dadurch nicht wieder magisch "gesund".

Hyperterminal müsste also in dem Fall sein Handle schliessen, warten bis 
der Port wieder verfügbar ist, und danach wieder öffnen.

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