So die Schaltung sollte jetzt gehen. Jedenfalls wenn ich von "Hand" 5V auf den T1 lege schatet dieser (üder den R3=1K).
Jetzt hätte ich noch eine Verständnisfrage für die eschreibung des i2c codes für den PCF8574P. Im Datasheet steht danicht "so" viel. Wie ich dies jetzt verstehe schreibt und liest man immer alle Infos zu allen 8 Ports? Ich müßte also erst einmal den Status aus dem PCF auslesen und dann meine Info dazu "addieren" und dann wieder schreiben...??? Richtig?
Also Adressieren:
S 0100 000 0
0100 = an wen an PCF8574
000 = A0-A2 auf GND
0 = Schreiben
---> 0100 erste Bit = 0x4
---> 0000 zweites Bit = 0x0
So das ich bei der Adressierung 0x40 bin fürs Schreiben und 0x41 zum lesen.
Jetzt aber die Daten???
A ??? 1 P
Wenn ich das Datenblatt richtig verstehe dann:
A P7 P6 P5 P4 P3 P2 P1 P0 0 P
Die P sind dann je die Ports. Für micht heißt dann 0x0 aus und 0x1 ein ??? richtig?
A 0 0 0 0 0 0 0 1 0 P
0000 = 0x0
0001 = 0x1
----> 0x01
was sich ergibt zu:
S 0x40 A 0x01 0 P
Jetzt tut sich aber dabei gar nichts!!! Mach ich was Falsch?
ich verwende die gleiche i2c Funktion die den SAA1064 ansteuert, das geht ja.
Kann es sein das es an der letzten Bit vor dem Stop liegt 0 bzw. 1 für lesen/schreiben. So ergibt sich von der Länge eine ungerade Zahl an Bits. Da aber die i2c funktion intern Byts verwendet...
Code:
BOOL gx_I2C_WriteReg(I2C_HANDLE hBus, BYTE bAddr, BYTE bValue)
cu Oli