mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Frage zu Prioritäten der Interupts


Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo Forum,
ich habe eine Frage zu den AVR Interrupts.
Wenn mein Programm z.B. in einem Timer
Interrupt steckt und just zu dieser Zeit
der UART RX Interrupt kommt. Was passiert?

Autor: Günter König (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Tach Thomas,

sowie ich weiss, sind die Prioritäten folgendermassen gesetzt:

1.  Reset Interrupt
2.  Int 0
3.  Int 1
4.  Timer 1 / Counter 1   Capture
5.     "                "           Compare A
6.     "                "                  "       B
7.     "                "            Überlauf
8.  Timer 0 / Counter 0   Überlauf
9.  SPI
10. UART RX
11. UART UDRE
12. UART TX
13. Analogkomparator

Das heisst, der Interrupt 13 wird eine UART Routine nicht während des 
Laufs unterbrechen, umgekehrt aber schon.
Interrupt 1 schafft alle........

Zum Gruße,
Günter

Autor: Jonas Diemer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Yo, genau. das gilt aber nur, wenn die interrupts GLEICHZEITIG ausgelöst 
werden...

wenn der avr in nen interrupt springt, schaltet er automatisch alle 
interrupts ab (löschen des I bits im SREG, equivalent mit der cli 
instruktion). d.h. wenn ein interrupt im interrupt eintritt, muss der 
erstmal warten bis

a) die interrupt routine mit reti beendet wird

oder

b) bis in der interrupt routine sei (set interrupt flag -> enable global 
interrupts) aufgerufen wird.

Jonas

Autor: Thomas (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke, alles klar

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.