Problem mit Interrupt

Gast #1797723
Lesenswert?

Hallo zusammen,
ich habe ein keleines Problem mit Interrupts.
Also, von der Uni aus, arbeiten wir grad mit dem Asuro in Assembler. 
Jetzt ist die Aufgabe, in einer ISR (INT1) einen SLEEP Modus zu 
aktivieren (Idle), aus dem der µC durch ein Timer Overflow Interrupt 
wieder aufgeweckt werden soll, aber das Ganze halt wie gesagt innerhalb 
der ersten ISR (INT1). (Wozu das gut sein soll ist mir auch ein Rätsel, 
aber die wollen das so...)
Problem ist, wenn ich jetz in der INT1 ISR die externen Interrupts 
deaktiviere um dann mit SEI alle anderen Interrupts wieder global zu 
aktivieren, damit der Timer Overflow Interrupt den µC wieder wecken 
kann, funktioniert von Anfang an gar kein Interrupt mehr. Also Programm 
geflasht, Kiste angeschmissen und er reagiert auf gar keinen Interrupt 
mehr, er kommt noch nciht mal zu dem Punkt wo ich das SEI in der ISR 
stehen hab. Sobald ich das SEI aus der ISR wieder rausnehme 
funktionieren danach alle Interrupts wieder.
Hab schon im Datenblatt usw. nachgeschaut, aber bin da nicht wirklich 
schlau geworden. Wäre super wenn mir da jemand den entscheidenen Tip 
geben könnte :)
danke schon mal... und LG,
Sven T.
Moderator (Firma: Titel) Persönliche Seite #1797755
Lesenswert?

> aber das Ganze halt wie gesagt innerhalb der ersten ISR (INT1).
Also willst du einen Interrupt in einer Interruptroutine zulassen?

> er kommt noch nciht mal zu dem Punkt wo ich das SEI in der ISR
> stehen hab. Sobald ich das SEI aus der ISR wieder rausnehme
> funktionieren danach alle Interrupts wieder.
Poste doch mal deinen Code. Sonst ist das Stochern im Trüben...
#1797771
Lesenswert?

@Sven (Gast)

>wieder aufgeweckt werden soll, aber das Ganze halt wie gesagt innerhalb
>der ersten ISR (INT1). (Wozu das gut sein soll ist mir auch ein Rätsel,
>aber die wollen das so...)

Dann sag den Jungs mal, die sollen sich mal ein paar Grundlagen 
reinziehen und nicht so einen Bockmist erzählen. Für die sinnvolle 
Nutzung des Sleep Mode muss die ISR nämlich wieder verlassen werden, 
vor allem weil der AVR keine verschachtelten Interrupts kann.

MFG
Falk

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