Forum: Mikrocontroller und Digitale Elektronik XMega USB - SOF gesetzt trotz fehlendem Enable


von Peder (st_peter)


Angehängte Dateien:

Lesenswert?

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?

von Teo D. (teoderix)


Lesenswert?

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!

: Bearbeitet durch User
von Peder (st_peter)


Lesenswert?

Ach, so einfach. Danke!
Gelöscht werden die Flags trotzdem. Daran hat man da gedacht.

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
Noch kein Account? Hier anmelden.