AT91SAM7S64 USB interrupt

Gast #304314
Lesenswert?
• ▲
▼
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?
Gast #304316
Lesenswert?
• ▲
▼
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.

Antwort schreiben

Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt. Bitte hier nur auf die ursprüngliche Frage antworten, für neue Fragen einen neuen Beitrag erstellen.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.