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

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren