www.mikrocontroller.net

Forum: Compiler & IDEs Frage zu Signals!


Autor: Stefan Seegel (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo!

Wollt da mal was wissen:

Ich hab zwei SIGNAL Routinen implementiert, eine für Interrutp 0 (der
wird immer bei LOW Level aufgerufen) und eine für UART Data Buffer
Empty. Wenn nun in den jeweiligen Routinen der "Grund" für den
Interrupt nicht abgeschafft wird (also INT0 ist immer low und UDR ist
immer leer), was passiert ? Bleibt das Programm in der Interruptroutine
hängen die zuerst aufgerufen wurde, oder werden die abwechselnd
aufgerufen ? Kommt das Hauptprogramm gar nicht mehr zum Zuge ?

MfG
Stefan

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eine Interruptroutine wird immer wieder aufgerufen, solange ihre
Ursache fortbesteht.  Besonders bei pegelgetriggerten externen
Interrupts muss man diese also ggf. abklemmen, wenn man das nicht will
-- andernfalls kommt das Hauptprogramm wirklich nicht mehr zum Zuge.

Wenn beim Wieder-Einschalten der Interrupts (nach RETI) mehr als eine
Interruptbedingung anhängig ist, wird die mit der höchsten Priorität
zuerst abgearbeitet.  Das Datenblatt beschreibt, welche das ist (in
diesem Falle wahrscheinlich der Externinterrupt).

Autor: Werner B. (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Nach der Rückkehr aus einer ISR (mit reti) wird mindestens ein Befehl
ausgeführt bevor der nächste Interrupt ausgelöst wird (Siehe AVR
Datenblatt). Das Hauptprogramm kommt also zum Zuge, aber extrem
"schaumgebremst". Aus eigener Erfahrung, das ist so! ;)

Autor: Jörg Wunsch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sehr schaumgebremst. :-)

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.