Forum: Mikrocontroller und Digitale Elektronik Microchip CDC Problem beim Reset des PICs


von Fred (Gast)


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

von Εrnst B. (ernst)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.