mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Externer Interrupt


Autor: Greenhorn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich habe eine hoffentlich recht einfache Frage. Ich initialisiere den 
externen Interrupt INT7 bei meinem ATmega2560 mit WinAVR, mit folgenden 
Code:

void int7_init()
{
int7_start=0;
int7_end=0;
EICRB=(1<<ISC71) | (1<<ISC70);
EIMSK=(1<<INT7);
}

Meine Frage, warum wird auch das Flag im EIFR Register während dieser 
Initialisierung gesetzt?
Danke

Autor: Sardaukar (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Möglicherweise zum Quitieren eines bereits anstehenden Interrupts?
So ists zumindest beim AT90CAN32. Ansonsten hilft die Dokumentation des 
Teils sicher weiter...

Autor: Greenhorn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

das habe ich mir auch gedacht, doch das globale Interrupt ist noch nicht 
gesetzt wurden.

Autor: johnny.m (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Das Flag wird bei Auftreten eines entsprechenden Ereignisses immer 
gesetzt, auch wenn der Interrupt nicht freigegeben ist! Die (lokale 
und/oder globale) Freigabe geben nur die automatische Bearbeitung, also 
das Auslösen einer Unterbrechung frei. Wenn am externen Interrupt-Pin 
ein entsprechendes Signal ankommt, dann wird das Flag immer gesetzt. 
Deshalb ist es meist sinnvoll, vor der Freigabe eines Interrupt das 
betreffende Flag explizit zu löschen.

Autor: Greenhorn (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke @johnny.m

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.