Wozu Bestätigung des Interrupts ATMega16M1?

OP #4974186
Lesenswert?

Hallo,

kann mir jemand erklären was es mit dieser Bestätigung genau aufsich 
hat, was passiert wenn man es nicht macht, wird nach dem beenden mittels 
reti kein weiterer Interrupt mehr aufgerufen oder landet man in einer 
Endlosschleife da immer wieder in die Interruptroutine eingesprungen 
wird nachdem man Sie verlassen/beendet hat?

20.9.2. Interrupt behavior
When an interrupt occurs, an interrupt flag bit is set in the 
corresponding MOb-CANSTMOB register or in the general CANGIT register. 
If in the CANIE register, ENRX  ENTX  ENERR bit are set, then the 
corresponding MOb bit is set in the CANSITn register.

To acknowledge a MOb interrupt, the corresponding bits of CANSTMOB 
register (RXOK, TXOK,...) must be cleared by the software application. 
This operation needs a read-modify-write software routine.

To acknowledge a general interrupt, the corresponding bits of CANGIT 
register (BXOK, BOFFIT,...) must be cleared by the software application. 
This operation is made writing a logical one in these interrupt flags
(writing a logical zero doesn’t change the interrupt flag value).
#4974253
Lesenswert?

Viele Interruptquellen bestätigen bei AVRs automatisch, sobald der 
Interrupt-Handler aufgerufen wird. Es gibt aber ein paar 
Peripheriemodule, bei denen diese Bestätigung mehr auslöst als nur die 
Freigabe der Interrupt-Logik. Bei denen muss man das im Handler zum 
richtigen Zeitpunkt selbst erledigen.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren