Forum: Compiler & IDEs Sprungziel ISR-Routine


von Sebastian (Gast)


Lesenswert?

Hallo,

ich habe ein Problem mit dem Anspringen einer ISR-Routine.

Anstatt in der ISR zu landen wird mir, wenn der Interrupt kommt, das 
Hauptprogramm aus seiner Endlosschleife geholt und wieder von vorn 
gestartet. Dabei ist es egal, ob ich nun einen Timer-Interrupt nehme 
oder den ADC_vect.
Es sieht so aus, dass der ISR-Vektor an eine falsche Stelle zeigt. 
avr/interrupt.h habe ich eingebunden und der avr-gcc beschwert sich 
auch, wenn ich den ISR-Vektor falsch schreibe. Im Makefile habe ich den 
atmega8 korrekt angegeben.

Wo kann ich hier anfangen zu suchen? Kann ich irgendwo nachschauen, 
wohin mir das fertige Programm versucht hin zu springen?
Bin für jeden Tipp dankbar.

Grüße Sebastian

von 1234 (Gast)


Lesenswert?

Klingt nach fehlender ISR, dann wird zurück zum Programmanfang gehüpft.

von g457 (Gast)


Lesenswert?

Implementier man den BADISR_vect.

von Plugin (Gast)


Lesenswert?

zwar eine ISR reingeschrieben aber eine falsche in den Registern 
aktiviert - da würde ich zuerst nachschauen

von Sebastian (Gast)


Lesenswert?

Ganz herzlichen Dank!
Klarer Fall von pebkac. BADISR_vect und der Hinweis zum "Programmanfang 
gehüpft" haben mir geholfen.
Am Ende hatte ich mir einfach falsche Fehler eingebaut.

von Frank M. (ukw) (Moderator) Benutzerseite


Lesenswert?

Sebastian schrieb:
> Am Ende hatte ich mir einfach falsche Fehler eingebaut.

"Falsche Fehler" sind keine Fehler. Es muss schon ein richtiger Fehler 
gewesen sein ;-)

Gruß,

Frank

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.