Forum: Mikrocontroller und Digitale Elektronik Int beim PCF 8574


von Achim S. (achims)


Lesenswert?

Hallo
Der I2C-IC vom Typ PCF8574 hat am Pin 13 die Bezeichnung Int. Habe mir 
das Datenblatt angesehen und im Netz gesucht. Leider findet man fast 
garnichts dazu. Meistens nur Hinweise auf Abschluss einer Messung oder 
Ausgang.
Wozu dient dieser Pin und wie kann ich ihn in einem C-Programm 
verwenden?
achim

von spess53 (Gast)


Lesenswert?

Hi

>Habe mir
>das Datenblatt angesehen und im Netz gesucht. Leider findet man fast
>garnichts dazu.

Kann nicht sein. In jedem Datenblatt vom PCF8574 ist ein Abschnitt 
'Interrupt output' enthalten. Im aktuellen von NXP z.B. auf S.10.

MfG Spess

von Karl H. (kbuchegg)


Lesenswert?

Achim Seeger schrieb:
> Hallo
> Der I2C-IC vom Typ PCF8574 hat am Pin 13 die Bezeichnung Int. Habe mir
> das Datenblatt angesehen und im Netz gesucht. Leider findet man fast
> garnichts dazu. Meistens nur Hinweise auf Abschluss einer Messung oder
> Ausgang.

Ausgang?

Aus dem TI-Datenblatt
1
The PCF8574 provides an open-drain output (INT) that can be connected
2
to the interrupt input of a microcontroller. An interrupt is generated
3
by any rising or falling edge of the port inputs in the input mode.
4
5
...
6
7
By sending an interrupt signal on this line, the remote I/O can inform
8
the microcontroller if there is incoming data on its ports without
9
having to communicate via the I2C bus. Therefore, the PCF8574 can
10
remain a simple slave device.

> Wozu dient dieser Pin und wie kann ich ihn in einem C-Programm
> verwenden?

Ich denke, die Beschreibung ist recht eindeutig.
Der Baustein kann damit seinen µC alarmieren, dass sich an den Inputs 
etwas getan hat OHNE dass der µC erst mal 'mühsam' den PCF8574 über I2C 
um den Status der Input Leitungen befragen muss.

Und wenn ich das hinzufügen darf: Das ist auch logisch so. Denn was soll 
denn ein I/O Baustein sonst mit einer (aus seiner Sicht) Ausgangsleitung 
namens /INT machen? Dieses beschriebene Verhalten ist das, was man 
erwarten würde: Der Basutein informiert seine aktive Einheit (welche 
immer der µC am anderen Ende der I2C Leitung darstellt) über irgendetwas 
Vorgefallenes.

: Bearbeitet durch User
von Achim S. (achims)


Lesenswert?

Wenn ich das richtig lese, informiert der PCF 8574 über Int seinen 
Prozessor das was an seinen Eingängen passiert. Das passiert aber nur 
bei Eingängen? Wenn ein Signal anliegt oder kommt geht er auf H oder L?
achim

von Karl H. (kbuchegg)


Lesenswert?

Denk nach!

Wozu soll ein I/O Baustein seinen µC 2 Stunden lang laufend per 
Interrupt darüber informieren, dass ein Pin die ganze Zeit auf High ist?

Was sind denn die interessanten 'Dinge' an einem Portpin? - Wenn er 
seinen Zustand ändert! Sobald ich das weiß und mir den Zustand geholt 
habe, interessiert mich ein Input Pin erst dann wieder, wenn er sich das 
nächste mal verändert. Denn ich WEISZ ja dann von vorher, dass er die 
ganze Zeit High ist, solange ich keine Benachrichtigung in Form eines 
Interrupts erhalten habe, dass er High ist, High sein muss, denn wenn er 
sich verändert hätte, wäre ja ein Interrupt ausgelöst worden.

Wie also wird wohl der fragliche Pin veschaltet sein, wenn man mal davon 
ausgeht, dass die Ingenieure keine Volltrottel sind?

: Bearbeitet durch User
von Εrnst B. (ernst)


Lesenswert?

Mensch, so schwierig ist das im Datenblatt doch nicht:

Karl Heinz schrieb:
> An interrupt is generated
> by any rising or falling edge of the port inputs in the input mode.

Selbst wenn du kein Englisch kannst, Google Translate macht daraus:

>> Ein Interrupt erzeugt wird
>> durch eine steigende oder fallende Flanke des Porteingänge im Eingabemodus.

Was doch durchaus verständlich ist... Zumindest besser als manches 
Muttersprachler-Deutsch hier im Forum ;)

von Achim S. (achims)


Lesenswert?

Danke für Hilfe
achim

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.