Interruptvorrang

Gast #284737
Lesenswert?
• ▲
▼
Hallo Leute!

Ich schreibe ein Programm dass 2 Interrupts behandelt. Einmal zählt der
Timer0 bis zum Outputcompare Wert und löst dort dann einen Interrupt
aus. Der zweite ist der externe Interrupt. Das Problem ist jetzt, dass
ich nicht weiß ob der externe Interrupt den Outputcompareinterrupt
stört.

Es soll so funktionieren, dass ich eine GENAU eine bestimmte Zeit zähle
und während dessen die externen Interrupts zähle. d.h. wenn der externe
Interrupt den anderen stört ist das nicht gut.

Danke für eure Antwort

MfG

saschisch
#284739
Lesenswert?
• ▲
▼
Wenn deine Interrupt-Routinen als ISR bzw. SIGNAL deklariert sind, dann
werden sie durch andere Interrupts nicht unterbrochen.
D.h. wenn du grad im Timerinterrupt bist wird der ext. Interrupt erst
dann ausgeführt, wenn die Timerinterruptroutine beendet ist. Was erst
dann ein Problem darstellt wenn während des Timerinterrupts mehr als
ein  externer Interrupt auftritt.

Umgekehrt ist es dasselbe, wenn in der ext.Interrupt-Routine der
Timerinterrupt mehr als einmal kommen sollte.
Aber das kannst du ja ausrechnen ob das vorkommen kann, die
Interrupt-Routinen sollten sowieso so kurz wie möglich sein.

Wenn eine Interrupt-Routine unterbrechbar sein soll, musst du sie mit
INTERRUPT statt SIGNAL deklarieren, bzw. bei der neuen avr-libc mit
einem komischen Konstrukt (siehe Doku).

Antwort schreiben

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.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.