2 externe Interrupts - deaktivieren nötig?

Gast #4937799
Hallo,

ich lese 2 externe Interrupts mit einem ESP8266 ein:

Interrupt 1: Falling, ca. 0 - 10Hz
Interrupt 2: Change, ca. 0 - 20Hz

Nun meine Frage:

Muss ich wenn Interrupt1 abgeabeitet wird, den Interrupt2 sperren und 
umgekehrt? Wird der Interrupt dann nachgeholt?

Habe es mit NoInterrupts() versucht, führt aber zu Verlusten von ca. 10% 
bei beiden Routinen...

Vielen Dank.
#4937985
dost0011 schrieb:
> Muss ich wenn Interrupt1 abgeabeitet wird, den Interrupt2 sperren und
> umgekehrt?

Wie kommst Du denn darauf?
Interrupts gleicher Priorität können sich nicht unterbrechen, dafür 
sorgt die Hardware.
Gibt man einem Interrupt eine höhere Priorität, dann genau deshalb, weil 
er den anderen unterbrechen können soll.

Verluste gibt es nur dann, wenn der Interrupthandler länger braucht, als 
die Interrupts hereinkommen.

P.S.:
Es scheint, dieser MC hat nur einen GPIO-Interrupt. D.h. Du mußt darin 
zu Fuß alle Ereignisse auswerten.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 9 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

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.