Interrupt-Probleme beim I/O-Expander MAX7318

Gast #4844352
Hallo,

ich habe Probleme, beim MAX7318 (I/O-Expander mit Interrupt) den 
Interrupt-Pin (acitve low) richtig zu benutzen. Das Datenblatt spricht 
von einem Open-Drain-Ausgang, allerdings ohne nähere Infos. Im Internet 
habe ich gefunden, dass ein Open-Drain-Ausgang normalerweise einen 
Pull-Up benötigt, auf der MAXIM-Seite zum MAX7316 (nicht 7318) hingegen 
ist der Interrupt-Pin direkt am Mikrocontroller angeschlossen. Was 
davon ist der richtige Weg? Im Datenblatt zum MAX7318 steht nichts 
darüber.

Kurz etwas zu meinem Setup: Besagter Interrupt-Ausgang geht zu einem 
ATxmega128A1U-Pin, dessen interner Pull-Up aktiviert ist und der auf 
fallende Flanken reagiert. Ich habe sowohl mit als auch ohne 
zusätzlichen, externen Pull-Up-Widerstand (4k7) getestet.

Nun ist es so, dass die Spannung auf der Interrupt-Leitung zwar bei 3,3V 
startet, aber nach dem ersten Interrupt auf 0V bleibt und nicht mehr 
hochgeht. Hat dieses Verhalten schon mal jemand erlebt oder kann mich 
bei der Fehlersuche in die richtige Richtung lenken?


Danke und Grüße

Peter
Gast #4844363
Hallo,

Du musst auch mit deiner Software den Datenblatt genau folgen:

"The open-drain interrupt output, INT, activates when one of the port 
pins changes states and only when the pin is configured as an input. The 
interrupt deactivates when the input returns to its previous state or 
the input register is read (Figure 9).

A pin configured as an output does not cause an interrupt.
Each 8-bit port register is read independently; therefore, an interrupt 
caused by port 1 is not cleared by a read of port 2’s register.
Changing an I/O from an output to an input may cause a false interrupt 
to occur if the state of that I/O does not match the content of the 
input port register."

https://www.maximintegrated.com/en/products/interface/controllers-expanders/MAX7318.html
Gast #4844476
Ich hatte zum Testen die Software reduziert und dabei auch das Auslesen 
der Input-Register auskommentiert. Das war es. Dadurch hat sich der 
Interrupt nicht mehr zurückgesetzt.

Danke!

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.