www.mikrocontroller.net

Forum: Compiler & IDEs Probleme mit externem Interrupt --> Reset! - ratlos?


Autor: Hansi_ (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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!!

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> ISR(EXT_INT2)
Das muss INT2_vect heißen!

Autor: Michael Wilhelm (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Möglichkeit 1:
ist INT2 auch mit 5 definiert?

Möglichkeit 2:
Stack Überlauf

Mehr fällt mir nicht ein.
MW

Autor: Hansi_ (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
So einfach kanns sein...

Danke! Das nächste mal schau ich direkt in der lib und nicht im 
Datenblatt nach!

:D

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht 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

Autor: Johannes M. (johnny-m)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.