Hallo Frank,

>Die einzigen Änderungen wären ja:
> - der Überlauf müsste nur Zähler zurücksetzen (glaube da reicht ne Drahtbrücke)

Warum willst Du den Zähler bei einem Überlauf zurücksetzen, wenn
dieser sowieso wieder bei 0 anfängt ??
Wenn, dann müsstest Du den Interrupt mit einem I/O-Port zurücksetzen !

> - der Interrupt müsste auf echten Interrupt Eingang geführt werden (da dieser glaub eh nur auf Flanken reagiert braucht man garnichts ändern)

Müsste man schon, da der Interrupt vom PCF8574 kommt, und dieser
bei jeder Änderung der Eingänge ausgelöst wird.

Jedoch garantiere ich Dir, daß Du garantiert Impulse verlierst, wenn nur
die Überläufe erfasst werden.

Ein I²C-Bus Zugriff(Zählerabfrage) dauert hier
mit CC1 + ASM-Routine ca. 20ms
mit CC2 in C2 ca. 0,6 bis 0,7ms
C164CI mit 20MHz in ASM. ca. 0,2ms


> Meine Methode entlastet ja auch den I2C-Port, von daher hat das auch schon Vorteil für schnelle Controller.

1. Es gibt keinen "I2C-Port", sondern nur einen I²C-Bus.
2. Hab ich schonmal geschrieben, daß der I²C-Bus mit mind. 100kHz funzt ?


Das einzigste, was man machen könnte, wäre, wenn man entweder ein 9. Zählerbit einem Port zuführt und den Pegelwechsel überwacht oder
das 8. Zählerbit zusätzlich an einem Interrupt-Port zuführt.
An diesem Int-Port dürfte dann aber keine weitere Interruptquelle.
Den Int-Ausgang des PCF8574 würde man dann nichtmehr nutzen.

Ziel beim I²C-Bus ist es jedoch möglichst mit einer Interruptleitung für
die gesamte Peripherie auszukommen.
In der Robotik wird wahrscheinlich der I²C-Bus kaum verwendet, außer
höchstens einmal einen SD20 oder einen PCF8574 als Ausgangserweiterung anzuschließen.
Hier ist das Thema I²C-Bus-Interrupts sicher nicht wichtig.

Da, wie gesagt, meine Hardware für den Schwerpunkt Gebäudetechnik
entwickelt ist, ist es hier auch wichtig jede Veränderung zu erfassen.
Als Anwendungsbeispiel für das I2C-CNT8 sei hier z.B. ein Volumenstromgeber genannt, welcher Impulse höchtens mit ein paar Hz
ausgibt, wobei es jedoch z.B. bei Wärmemengenzählung wichtig ist,
die Zeitspannen etwas genauer zu erfassen, als nur bei einem Überlauf.
In der Gebäudetechnik können schnell einmal 20 bis 30 I²C-Bus-Baugruppen
an einem Bus hängen. (oder gar mehr)
(Auch eine oder mehrere RS232 am I²C-Bus, welche bei jedem empfangenen Byte einen Interrupt auslösen müssen !)

MfG André H.