Hallo, Ich arbeite mit AT91SAM7S64 und versuche USB anzusteuern. Ich setze UDP interrupt mask fuer UDP_EPINT0 (mittels UDP_IER) und lese sofort UDP_IMR ein. Es ist 0x00001001, so wie es sein sollte. Aber nach einem Interrupt aendert sich UDP_IMR zu 0x00001200. Also UDP_EPINT0 geht "low" and UDP_RXRSM geht "high". Kann das jemand erklaeren?
Hier wird gerade dein Problem besprochen -> http://groups.yahoo.com/group/AT91SAM wird wohl immer nach nem busreset vom host (PC) zurückgesetzt
Hey Danke, stimmt bei AT91SAM habe ich auch nachgefragt :). Ich musste aber leider die Loesung selber finden. Die besteht darin, das es gar kein Bug ist. Das Datenblatt ist halt nicht explizit zu diesem Punkt bzw. ich habe nichts dazu gefunden (ich bekomme langsam den Eindruck dass, das Datenblatt fuer SAMs viel schlechter als das fuer ATMegas ist). Ich habe die Beispiele (Basic USB) von Atmel analysiert und festgestelt, dass die nach jedem END_OF_BUS_RESET die UDP Einheit immer neu einstellen. Das heisst implizit, dass nach END_OF_BUS_RESET alle Einstellungen verloren gehen.
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.