www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Codevision Interrupts


Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Ich versuche nun seit Stunden den externen Interrupt in Codevision zu
aktivieren.
Es funktioniert auch recht gut. Ich stelle den INT0 auf fallende Flanke
ein. Die Prozedur wird aufgerufen - aber auch bei einer steigenden
Flanke! Völlig egal, was ich in das MCUCR Register schreibe.

GIMSK=0b01000000;       // INT 1 deaktivieren - INT 0 aktivieren
MCUCR=0x00000010;       // Fallende Flanke INT 0 aktivieren
GIFR=0x01000000;

Was mache ich hier falsch? Warum wird die Prozedur bei jeder Flanke
aufgerufen?

Wozu wird das GIFR Register gebraucht? Aus dem Datasheet bin ich nicht
ganz schlau geworden.

Danke!
Steffen

Autor: ape (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
mhmm hast du den Code ausm Sourcecode kopiert?
das is nämlich auf jeden fall erstma falsch:
MCUCR=0x00000010;       // Fallende Flanke INT 0 aktivieren
GIFR=0x01000000;
wenn dann müsste da anstelle eines x ein b hin also:
MCUCR=0b00000010;       // Fallende Flanke INT 0 aktivieren
GIFR=0b01000000;
Ob das dein Problem beseitigt weiß ich aber nich :)
sicher das der Interrupt auch auf de rsteigenden Flanke ausgelöst wird
je nach dem wie du den Interrupt beschaltet hast könnte es ja auch
sein, dass du einen Prell Effekt hast (Wenn du einen Schalter zum
Auslösen benutzt)

Autor: Steffen Burr (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hia ape!

Du hast natürlich recht. Ich such da stundenlang nach dem Fehler und
dann ist es so was blödes! Aber mir ist es einfach nicht aufgefallen.

Es geht jetzt prima!

Danke!
Grüße
Steffen

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.