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.)
Hallo, es ist müsig deinen Quellcode oder deine Vorgangsweise auf Fehler zu durchsuchen etc. Gehe auf die seite von "teensy" http://www.pjrc.com/teensy/first_use.html dort gibte es unter "Projects" getesteten Quellcode und eine Anleitung was wie zu machen ist !!! Viel Spass
Nachtrag: getesteter Quellcode ist unter Code Library/USB Serial http://www.pjrc.com/teensy/usb_serial.html
>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.
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.
>Gibt es denn eine MÖglichkeit, die USB-Enumeration unter Win7 zu loggen? Wenn Du das öfter brauchst: http://www.basic.io/index.php/category-analyzers/alogic-analyzer-detail Oder in Software: http://www.sysnucleus.com/
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
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.