
|
INFO - FAQ - CC2-Forum - CCPro-Forum |
|
Hallo Reinhard, > wie nutzt man eigentlich den Interrupt beim I2C-Bus? > > Wenn ich das richtig verstanden haben, wird der INT-Ausgang > eines PCF8574 mit dem INT-Eingang der C-Control verbunden. > > Und wie nutze ich das softwaretechnisch? > > Was ist, wenn ich mehrere PCF8574 habe? Die Interruptausgänge von I²C-Bus-Bausteinen haben nichts mit dem Interrupteingang der CC1 zu tun ! Sie signalisieren eine Änderung an einem/mehreren Bausteinen. Bei der CC1 solltest Du die I²C-Interruptleitung mit einem I/O-Port verbinden, welchen Du im Programm überwachst. Softwaretechnisch würde das dann so ablaufen: define int port[x] ... #loop ... if not int then gosub I2CAbfrage ' Low-Pegel=Interrupt ... ... ... goto loop #I2CAbfrage Baustein abfragen if int then return ' High-Pegel=Interrupt "beendet" nächsten Baustein abfragen if int then return ' High-Pegel=Interrupt "beendet" usw. letzten Baustein abfragen return Das ist natürlich stark vereinfacht ausgedrückt. :-) Wenn Du mehrere I²C-Bus-Bausteine hast, welche als Eingang fungieren, schließt Du einfach alle INT-Ausgänge parallel. Im Programm benützt Du einfach das Schema des Subs #I2CAbfrage, um mehrere Bausteine abzufragen. MfG André H. |
| Antwort schreiben |