XMega USB - SOF gesetzt trotz fehlendem Enable

OP #7801712

Hi,

ich arbeite mich gerade durch dieses Thema inkl. Code vom zweiten Beitrag durch: Beitrag "CDC für xmega"

Der Code läuft problemlos auf einem ATxmega253A3U, und ich versuche nun, daran angelehnt, meine eigene Bibliothek zu schreiben. Erstens, weil ich den Original-Code in wenigen Monaten nicht mehr verstehen werde und zweitens, weil ich eine andere USB-Klasse benutzen möchte.

Bei Debuggen ist mir aufgefallen, dass der SoF-Interrupt im Code nie aktiviert wurde (USB_SOFIE_bm im USB.INTCTRLA-Register), aber trotzdem das SOF-Flag gesetzt wird.

Wie kann das sein? Das gesamte (Original-)Projekt enthält keine Stelle, in der SOF-Interrupts aktiviert werden, und man sieht ja auch im Screenshot, dass die nicht aktiviert sind. Ist dieses Bit einfach nur "historisch" übriggeblieben, und dieser Interrupt wird trotzdem generiert?

Angehängte Dateien:

Das ist normal, das nur der Interrupt gesperrt wird, die zugehörigen Flags aber weiterhin gesetzt werden... Hat so seine Vorteile! Aber man sollte sich überlegen, ob man das nicht löschen sollte, bevor man den Int wieder freigibt!

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über ein Jahr alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.