www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Allgemeine Interrupt frage


Autor: Thomas D (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

angenommen ich habe eine Code:

cli();
....
Jede Menge toller C-Code
....
sei();

Dann sind ja während dieser Zeit die Interrupts gesperrt, wenn jetzt 
aber trotzem die Bedinungen für einen Interrupt während dieser Zeit 
gegeben sind ( z.b. Signal am Ext. Interrupt), wird dieser dann direkt 
nach der Reaktivierung abgearbeitet, oder geht der verloren ?

Gruß

Thomas

Autor: Domi (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ist verloren

Autor: Flo (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Die Interruptflags werden ja gesetzt, egal ob global die Interrupts 
aktiviert sind oder nicht.
Falls nach Reaktivieren des global interrupt enable (sei) gesetzte Flags 
gefunden werden und die entsprechenden Interrupts eingestellt sind, 
werden diese ausgeführt.
(die Reihenfolge der Abarbeitung bei mehreren Interrupts richtet sich 
glaube ich nach der Reihenfolge der Einsprungvektoren).
;-)

Autor: g457 (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
depends. I.d.R. wird das Flag gespeichert und der zugehörige Handler 
dann angesprungen (Priorität beachten bei mehreren IRQs!). Verloren geht 
'der Interrupt' i.d.R., wenn er mehrfach ausgelöst wird, dann wird der 
Handler (i.d.R.) nur ein Mal angesprungen.

Die Details stehen wie immer im Datenblatt :-)

HTH

Autor: Falk Brunner (falk)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@  Thomas D (Gast)

>gegeben sind ( z.b. Signal am Ext. Interrupt), wird dieser dann direkt
>nach der Reaktivierung abgearbeitet,

Ja.

> oder geht der verloren ?

Nur dann, wenn innerhalb der Sperrzeit mehr als ein Interrupt vom selben 
Typ auftritt. Siehe Interrupt.

MfG
Falk

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.