PCA 8574 und Interuptleitung

Gast #333863
Lesenswert?
• ▲
▼
Hallo,
ich habe an den PCA8574 I2C-Expander Taster angeschlossen und möchte
mir nun über die Interrupt (an PE6) abfragen, wann ein Taster gedrückt
ist.
Nun wollte ich folgendes Programm testen:

...
/* Auslesen des PCA8574 */

    DDRE  &= ~(1<<DDE6);  /* Pin PE6 als Eingang */
    PORTE |= (1<<PE6);    /* internen Pull-Up an PE6 aktivieren */


    if ((PORTE & (1 << 6)))
  {
...
  }


komischerweise wird bei mir die Schleife immer ausgelesen, egal ob ich
eine Taste drücke, oder nicht.

Was mach ich falsch??
#333866
Lesenswert?
• ▲
▼
Jo passt was ich geschrieben hatte. Der Int-Ausgang ist erst dann low,
wenn sich der Zustand an den IOs ändert und geht wieder auf High
zurück, wenn der Chip ausgelesen wurde. Bei deinem Programm müsstest du
entweder  den low-Zustand abfragen oder das Signal invertieren.

Antwort schreiben

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.

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.