Forum: Compiler & IDEs Interrupt-Service Routinen beim ATmega162


von Martin Raffelsieper (Gast)


Lesenswert?

Hallo,
kann mir jemand ein Beispiel nennen, wie man in GCC eine
Interruptroutine schreibt und wie man interupts freigibt.

folgendes geht nämlich nicht:

interrupt(INT0) void INT0_isr( void )
{
   NOP();
}

Gruß Martin

von Joerg Wunsch (Gast)


Lesenswert?


von Martin Zunke (Gast)


Lesenswert?

...aber als Einstieg hier ein Beispiel für die ISR meines
Analogcomparators:

/* INTERRUPTHANDLER Analog Comparator */
SIGNAL(SIG_COMPARATOR)
{
  /* Zähler bei jeder steigenden Flanke inkrementieren*/
  ++zaehler;
}

In main dann noch ein sei(); , dann klappts ooch...

mz

von Joerg Wunsch (Gast)


Lesenswert?

Nicht vergessen, zaehler in diesem Falle "volatile" zu dekklarieren.

von Martin Raffelsieper (Gast)


Lesenswert?

was bedeutet volatile???

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.