AT90usb162 USB COM Interrupt wird nicht ausgelöst

Gast #2956501
Lesenswert?

Guten Tag zusammen,
Ich habe ein Problem, für das ich schon drei Tage rumprobiere.

Ich baue gerade eine Steuerung für einen Plotter.
Dazu habe ich eine Platine mit einem AT90usb162 aufgebaut.
Der Atmel-Bootloader funktioniert einwandfrei und ich kann die Firmware 
immer zum Testen aufspielen.

Die Firmware soll sich am PC als USB-Seriell-DEvice (CDC) ausgeben. Bei 
der Enumeration erkennt der PC zwar, das etwas am USB angeschlossen 
wurden ist, allerdings wird kein USB_COM-Interrupt ausgelöst (getestet 
mit LEDs). Daher fehlen natürlich die Deskriptoren und der PC erkennt 
nur ein fehlerhaftes Device.

Allmählich habe ich keine Idee mehr, wo mein Problem sein könnte.
End-of-Reset vom USB wird erkannt,
der Endpoint0 gültig aufgesetzt,
der Received-Standard-Request aktiviert.
Aber der Interrupt wird nicht ausgelöst.

Hat einer von euch eine Idee, woran es liegen könnte?
(Quellcode ist angehängt.)
Angehängte Dateien:
Gast #2957184
Lesenswert?

>Bei der Enumeration erkennt der PC zwar, das etwas am USB angeschlossen
>wurden ist,
Das sagt garnichts aus. Das passiert auch, wenn Du einen Widerstand an 
D+/D- hängst.

>Daher fehlen natürlich die Deskriptoren und der PC erkennt nur ein fehlerhaftes
>Device.
Typisch für eine fehlerhafte Enumeration. Wie sieht denn der 
Datenverkehr auf dem Bus aus?

>End-of-Reset vom USB wird erkannt,
>der Endpoint0 gültig aufgesetzt,
>der Received-Standard-Request aktiviert.
Wenn Du das alles weisst, dann zeig doch mal Dein Log.
Gast #2957395
Lesenswert?

Pit schrieb:
> Typisch für eine fehlerhafte Enumeration. Wie sieht denn der
> Datenverkehr auf dem Bus aus?

Datenverkehr kann ich leider nicht überprüfen.
Ich habe die Initialisierung und das Vorrankommen des Codes mittels LEDs 
überprüft.
Daher kann ich mit Sicherheit sagen, dass der USB_COM-Interrupt nicht 
ausgeführt wird, obwohl der Interrupt auf ein empfangenes Setup-REquest 
eingestellt ist.

> Wenn Du das alles weisst, dann zeig doch mal Dein Log.
Gibt es denn eine MÖglichkeit, die USB-Enumeration unter Win7 zu loggen? 
Dahingehend habe ich nichts gefunden.

Ich werde jetzt mal den Code von

Karlheinz schrieb:
> getesteter Quellcode ist unter
>  Code Library/USB Serial
> http://www.pjrc.com/teensy/usb_serial.html

austesten. Falls dieser tut, habe ich eine Vergleichsmöglichkeit.

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