Zitat Zitat von Feuerring Beitrag anzeigen
Hallo Patrick,

mal die erste Frage, kannst Du den MCP23017 denn über I2C fehlerfrei ansprechen,
sprich Register schreiben / lesen ...

Bei der I2C-Übertragung ist das erste Byte die Register Auswahl


Register 0 (A) DIR 0=OUT / 1=IN
Register 1 (B) DIR 0=OUT / 1=IN

Register 12 (A) Pull-UP 0=aus / 1=ein
Register 13 (B) Pull-UP 0=aus / 1=ein

Register 18 (A) IO 0=LOW / 1=HIGH
Register 19 (B) IO 0=LOW / 1=HIGH

Programm kann ich Dir nicht geben, würde dich nur noch mehr verwirren,
ich steuere den MCP23017 über einen I2C-Bus und einem IOW-Worrior
Morgen

Das war auch gestern ein Gedanke..ich wollte mal mit einem PCF 8574 testen ob der Port überhaupt läuft
Laut Oskar wurden aber Daten übertragen

Jetzt ist ebend meine Frage zu den Registern

Laut eines Beitrages im Netz soll ich das so machen
i2c_start();
i2c_wirte (0x20);
i2c_write(0x00);
i2c_write(0x00);
i2c:stop();

i2c_start();
i2c_write(0x20);
i2c_write(0x01);
i2c_write(0x00);
i2c:stop();

i2c_start();
i2c_write(0x20);
i2c_write(0x12);
i2c_write(0xFF);
i2c:stop();

die 0x12 sollen den Port A ansprechen und 0x13 den Port B ist das denn überhaupt richtig ??
FF wären ja alle Pins auf High..das habe ich aber schon gar nicht hinbekommen

kannst du mir das mit den Registern evlt mal genauer erklären
anhand eines kleines Beispieles ?

Gruss
Patrick