Pin Change Interrupt mit steigender Flanke

Gast #238471
Hallo zusammen,
ich möchte dass meine interrupt-routine nur bei steigender flanke
ausgeführt wird. bei fallender soll nichts passieren.
das eingangssignal kann/ist zu kurz um einfach in der interruptroutine
den pin auf high oder low abzufragen...

hat jemand einen vorschlag?
Moderator Persönliche Seite
Wenn das Eingangssignal zu kurz ist, dann braucht's dich doch
nicht kümmern, welche der beiden Flanken getriggert hat.  Oder
was verstehe ich daran nicht?

Ich denke nicht, dass du beim pin change interrupt großartig was
festlegen kannst, dafür müsstest du einen ,,richtigen'' externen
Interrupt benutzen.
Gast
der benutzer kann aber "den schalter" der den pci steuert selbst
drücken. drückt er ihn kurz-> kein problem;
drückt er ihn lang -> fallende flanke wird erkannt und pci ausgelöst...
Moderator Persönliche Seite
Ist sowieso eine schlechte Idee, mechanische Schalter über
externe oder Pinchange-Interrupts abzufragen.  Die fragt man
mit einem Timer ab, da man die sowieso entprellen muss.

Ansonsten: schalt' doch den pinchange interrupt im Handler
erstmal aus (und durch einen Timer wieder an).  Wenn's wirklich
so kurz gewesen ist, dass er beide Flanken vor der Interrupt-
annahme hatte, isses egal, ansonsten verhinderst du den Interrupt
auf der fallenden Flanke.
Gast
> der benutzer kann aber "den schalter" der den pci steuert selbst
> drücken.

Ist der denn entprellt? Sonst bekommst du eh mehrere Flanken.

> drückt er ihn kurz-> kein problem;

Da müßte er aber sehr kurz drücken.

> drückt er ihn lang -> fallende flanke wird erkannt und pci
> ausgelöst...

Mal angenommen, du redest von AVR: Warum weichst du nicht auf einen
Interrupt-Eingang aus? Bei dem ist einstellbar, worauf er triggert.
Gast
streng genommen ist es ein touch panel, von dem nur kooerdinaten gelesen
werden sollen, wenn es auch gedrückt ist...


>Mal angenommen, du redest von AVR: Warum weichst du nicht auf einen
Interrupt-Eingang aus? Bei dem ist einstellbar, worauf er triggert.

davon rede ich zwar. möchte/kann keinen externen interrupt benutzen...

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 21 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.