Probleme mit externem Interrupt --> Reset! - ratlos?

Gast #718882
Lesenswert?

Hi!

Ich hab folgendes Problem:

Ich möchte am INT2 (PB2) an einem Atmega32 ein Rechtecksignal auswerten. 
Meine Implementierung -> siehe Datei.
Es gibt einen Timer um die Zeit zu erfassen. sobald die Zeit abgelaufen 
ist (Überlauf) soll das Display beschrieben werden.
In der Routine für den INT2 wird einfach nur ein Zähler inkrementiert.
Das Problem ist, sobald ich den Interrupt für INT2 in der Funktion 
Init_Zeit() initialisiere, resettet sich der Atmega 32 dauernd...
HArdwaremäßig ist alles in Ordnung - andere Programme laufen nach wie 
vor hervorragend.

Könnt ihr mir weiterhelfen? Herzlichen Dank!!
Angehängte Dateien:
#718904
Lesenswert?

Michael Wilhelm wrote:
> Möglichkeit 1:
> ist INT2 auch mit 5 definiert?
>
> Möglichkeit 2:
> Stack Überlauf
>
> Mehr fällt mir nicht ein.

Möglichkeit 3:
Der Name des Interrupt Vektors ist falsch geschrieben.
Das ist die Hauptursache für das Symptom: Sobald die
Bedingung für einen Interrupt hergestellt ist, resettet
sich der µC
#718906
Lesenswert?

Hansi_ wrote:
> So einfach kanns sein...
>
> Danke! Das nächste mal schau ich direkt in der lib und nicht im
> Datenblatt nach!
>
> :D
Wo bitteschön steht im Datenblatt "EXT_INT2"? In meinem Datenblatt steht 
"INT2"... Die Vektornamen in der lib sind identisch mit denen aus dem 
Datenblatt, bis auf das angehängte "_vect" (und natürlich die durch 
Undercsores ersetzten Blanks bzw. Sonderzeichen...). Genau das ist ja 
der Sinn der "neuen" Bezeichnungen in der lib: Man soll eben nicht 
mehr ständig wegen jeder Kleinigkeit in der lib-Doku nachsehen müssen...

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