www.mikrocontroller.net

Forum: Compiler & IDEs Interrupt Mega16


Autor: Holger (Gast)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht lesenswert
Hallo,

ich versuche mich gerade am externen Interrupt mit dem Mega16. Könntet
ihr bitte kurz den Code durch schauen? Der Interrupt scheint nämlich
nicht auszulösen.

Gruß Holger

Autor: Patrick Dohmen (oldbug) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
sei fehlt!

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Übrigens sollte man als allererstes in der ISR für einen externen
Interrupt selbigen abschalten.  Mechanische Schalter prellen
allesamt, sodass dein Interrupt andernfalls x-mal auslöst.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"Übrigens sollte man als allererstes in der ISR für einen externen
Interrupt selbigen abschalten."


Man sollte sie erst garnicht dafür verschwenden, da man ja eh den
Timerinterrupt zum Entprellen braucht.


Und für wirklich eilige Sachen (Ethernetcontroller) sollte man es auch
nicht, sonst geht einem womöglich ein Interrupt durch die Lappen.

Selber unterbrechen kann ein Interrupt sich ja nicht.


Peter

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Selber unterbrechen kann ein Interrupt sich ja nicht.

Nu ja, vorsicht, mit INTERRUPT könnte er es :), und bei einem
pegelgetriggerten externen Interrupt würde die ISR so lange
erneut aufgerufen (und zwischendurch wohl jedesmal nur einen
einzigen Befehl des Hauptprogramms ausführen), wie der Pegel
aktiv anliegt.

Autor: Wiskas(TM)-Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Und für wirklich eilige Sachen (Ethernetcontroller)
> sollte man es auch nicht, sonst geht einem womöglich
> ein Interrupt durch die Lappen.

Und wie macht man es bei eiligen Sachen, polling? Das kann aber doch
auch durch Interrupts unterbrochen werden.

Autor: Jörg Wunsch (dl8dtl) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Eilige Sachen am besten durch Hardware erledigen lassen (input
capture oder sowas zum Beispiel).  Peter ging's ja nur darum, dass
man den wahllosen 08/15-Taster eben nicht an einen externen
Interrupt klemmen sollte, da man ihn ohnehin entprellen muss --
und ,,eilig'' kann der wohl sowieso nie sein.

Autor: peter dannegger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
> Und für wirklich eilige Sachen (Ethernetcontroller)
> sollte man es auch nicht abschalten, sonst geht einem womöglich
---------------------------^^^^^^^^^^
> ein Interrupt durch die Lappen.


Sorry, das war mißverständlich.

Für eilige Sachen ist der externe Interrupt ja gedacht.


Peter

Autor: Wiskas(TM)-Jäger (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Danke für die Klarstellung; hatte mich schon gewundert.

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.