Forum: Mikrocontroller und Digitale Elektronik ISR (ext int) wird nicht aufgerufen


von Philipp S. (phischl)


Lesenswert?

Hallo!
Ich programmiere gerade einen ATtiny24A in C und möchte den externen 
Interrupt 0 nutzen. Jedoch erhalte ich folgende Warnung:

../main.c:25: warning: 'INT0_vect' appears to be a misspelled signal 
handler

Ich hab schon alle möglichen Namen ausprobiert, aber erhalte immer 
wieder die Warnung. Desshalb wird die ISR auch nicht aufgerufen oder?

Hier die Registereinstellungen:
MCUCR |= (1 << ISC01) | (1 << ISC00);     // rising edge INT0
GIMSK |= (1 << INT0);
sei();

Und die ISR:
ISR(INT0_vect)
{
AUSGANG &= ~(1 << LED1);
}

Findet jemand einen Fehler? Verkabelt sollte alles richtig sein, denn 
wenn ich den Pin abfrage, leuchtet die Led.

Danke für eure Hilfe!

von Uwe (de0508)


Lesenswert?

Also, wenn ich über die <avr/io.h> in <avr/iotn24a.h> nachsehe,

finde ich |EXT_INT0_vect|.

So schwer ist das doch gar nicht, oder ?

von Philipp S. (phischl)


Lesenswert?

Nein, wär nicht schwer gewesen. Hab nicht daran gedacht dort zu schauen, 
sollt ich mir aber angewöhnen. Im Datenplatt hab ich nichts von 
EXT_INT0_vect gefunden.
Trotzdem danke für deine Hilfe!!!

von Uwe (de0508)


Lesenswert?

Ja ich kenne auch das Problem, so schaue ich immer erste in das 
Datenblatt und danach in die Umsetzung in meinem Cross-Compiler.

Nu solltes es ja gehen.

von Thomas E. (thomase)


Lesenswert?

Uwe S. schrieb:
> Also, wenn ich über die <avr/io.h> in <avr/iotn24a.h> nachsehe,
So tief muss man ja gar nicht wühlen. Schliesslich steht der richtige 
Vektorname auch im Datenblatt. Allerdings scheinen die 24er und seine 
Brüder die einzigen zu sein, bei denen der Vektor nicht einfach "INT0" 
heisst. Da stellt sich mir die Frage, welcher Vollpfosten sich das 
wieder ausgedacht hat.

mfg.

von Philipp S. (phischl)


Lesenswert?

Ja jetzt funktionierts wies soll. Komischerweise steht im Datenblatt der 
falsche Name..

von Uwe (de0508)


Lesenswert?

Ja Thomas,

deshalb habe ich auch diesen sicheren Weg beschrieben.

Thomas Eckmann schrieb:
> Uwe S. schrieb:
>> Also, wenn ich über die <avr/io.h> in <avr/iotn24a.h> nachsehe,
> So tief muss man ja gar nicht wühlen. Schliesslich steht der richtige
> Vektorname auch im Datenblatt. Allerdings scheinen die 24er und seine
> Brüder die einzigen zu sein, bei denen der Vektor nicht einfach "INT0"
> heisst. Da stellt sich mir die Frage, welcher Vollpfosten sich das
> wieder ausgedacht hat.
>
> mfg.

von Thomas E. (thomase)


Lesenswert?

Ja, Herr Oberlehrer.

Uwe S. schrieb:
> deshalb habe ich auch diesen sicheren Weg beschrieben.

mfg.

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.