Forum: Mikrocontroller und Digitale Elektronik XMega 128A3U USB-CDC wird nicht initialisiert


von Markus F. (dr-ice)


Lesenswert?

Hallo,

ich habe ein Projekt im AVR-Studio, aufsetzend auf der ASF-Demo und habe 
folgendes festgestellt:

Rechner läuft - AVR einstecken: Alles wird erkannt und funktioniert.
Rechner aus - AVR hat schon Strom: Windows erkennt nichts ...

Kann es sein, dass ich da etwas übersehen habe und mir ein Callback 
fehlt, der nach der Init vom PC den USB-Stack im XMega neu startet ?

Vielleicht hat ja einer von Euch eine Idee, oder ein Stück Code, der 
mich erhellt :-)

Wie gesagt, die Funktion an sich ist in Ordnung, Probleme habe ich nur 
wenn der XMega vor dem PC läuft.

Vielen Dank schon mal.

Gruß

Markus

von Oliver L. (olubritz)


Lesenswert?

Moin =)
Hat dein Board eine eigene Spannungsquelle oder wird es über das USB 
versorgt. Ein Problem könnte die Erkennung der Vbus-Spannung sein. Es 
gibt nur einige XMEGA die diese automatisch erkennen. Ansonsten muss man 
dies per Hand machen. Man sollte auch nur ein udc_attach durchführen, 
wenn die USB-Bus-Spannung anliegt. Eigentlich gibt es dafür dieses 
Event: UDC_VBUS_EVENT. Dies wird jedoch nur ausgelöst, wenn der 
Controller automatisch die Spannung erkennt.
Bei mir habe ich es so gemacht, dass ich udc_stop und udc_detach 
ausführe, wenn Vbus nicht mehr anliegt. Nur wenn Vbus anliegt führe ich 
ein udc_start und ein udc_attach aus. Somit ist an- und abstecken auch 
kein Problem, speziell wenn meine Schaltung selbstversorgt ist.

Olli

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.