Forum: Mikrocontroller und Digitale Elektronik ATmeag8 in C und Interrupts?


von Olli R. (downunderthunder42)


Lesenswert?

Hallo,

ich hab hier nur eine ganz kurze generelle Frage zu den Interrupts beim 
ATmega8 bzw. allgemein bei den AVRs.

Die verfügbaren Interrupts sind ja über die jeweiligen Makros im 
Header-File verfügbar und können dann über die ISR("Vector") erstellt 
werden?

siehe Bsp. aus dem Interrupt-Tutorial:

ISR( TIMER2_OVF_vect ) {
    flag = 1;
}

Meine Frage jetzt:

Ist das denn schon alles oder muss ich meinen Handler (ISR) noch 
anderweitig anhängen.

Ich könnte z.B. also nur etwas wie
#define meinTimmerhandler TIMER2_OVF_vect

und dann machen
ISR( meinTimmerhandler ) {
    flag = 1;
}

um den Code übersichtlicher zu gestalten?

von Stefan E. (sternst)


Lesenswert?

Olli R. schrieb:
> Ich könnte z.B. also nur etwas wie
> #define meinTimmerhandler TIMER2_OVF_vect
>
> und dann machen
> ISR( meinTimmerhandler ) {
>     flag = 1;
> }

Ja, könntest du machen.

von Ralf G. (ralg)


Lesenswert?

Olli R. schrieb:
> um den Code übersichtlicher zu gestalten?
Übersichtlicher? Hmm.

von Oliver (Gast)


Lesenswert?

Olli R. schrieb:
> Ist das denn schon alles oder muss ich meinen Handler (ISR) noch
> anderweitig anhängen.

Das ist schon alles.

Olli R. schrieb:
> und dann machen
>
> ISR( meinTimmerhandler ) {
>     flag = 1;
> }
>
> um den Code übersichtlicher zu gestalten?

Machen kannst du das, aber übersichtlicher wird der Code dadurch nicht.

Oliver

von Olli R. (downunderthunder42)


Lesenswert?

Oliver schrieb:
> Machen kannst du das, aber übersichtlicher wird der Code dadurch nicht.

Ok dann weiss ich Bescheid. Hmmh das Wort "übersichtlicher" wollte ich 
eigentlich, wie auch hier, in Anführungszeichen setzen.

Ich hab mich seit einigen Monaten nicht mehr mit dem AVR befasst und 
dann auch nur in Assembler programmiert.
Cool, dass das so einfach in C geht. Spart ne Menge Arbeit!

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.