AVR Interrupt Problem

Gast #833688
Lesenswert?
• ▲
▼
Hallo zusammen,

möchte eine Frage zu Interrupt stellen und zwar, ich habe eine LED, die 
durch den Interrupt Vektor (SIG_EOVERFLOW0) blinken kann. Ich möchte nun 
mit einem Taster, der mit dem externen Interrupt (SIG_INTERRUPT0) 
arbeitet, die LED aus zuschalten.
Bei dem alten Version von WinAvr weiss ich den Unterschied zwischen 
SIGNAL und INTERRUPT, aber im neuen Version von WinAvr werden die beide 
durch ISR() ersetzt. Ich weiss nicht, wie man die beide Interrupt 
gleichzeitig laufen lassen kann.
Es wäre schön, wenn jemand Bescheid mir geben kann, weil ich noch ein 
Anfänger bin.

mfg

Juan
#833702
Lesenswert?
• ▲
▼
Juan wrote:

> Bei dem alten Version von WinAvr weiss ich den Unterschied zwischen
> SIGNAL und INTERRUPT, aber im neuen Version von WinAvr werden die beide
> durch ISR() ersetzt. Ich weiss nicht, wie man die beide Interrupt
> gleichzeitig laufen lassen kann.

Wenn Du denkst, das eine hätte mit dem anderen zu tun, dann weißt Du den 
Unterschied zwischen SIGNAL und INTERRUPT doch nicht.

INTERRUPT sollte man nur dann verwenden, wenn man auch weiß, was man 
damit anrichtet. Beim neuen WINAVR kann man das mit ISR(xxx, 
ISR_NOBLOCK) machen.

In Deinem Fall reicht aber ISR völlig.
Einmal der Timerinterrupt für die Blink-LED und einmal der 
Timerinterrupt für die Tastenentprellung.
Man kann natürlich auch beides in den selben Interrupt packen.


Peter

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