Hallo Harald, habs gestern Nacht um 02:00 Uhr noch hinbekommen, ich hatte über das Hyperterminal versucht die Daten auszulesen, jedoch immer nur den Wert 255 erhalten, jetzt weiß ich woran es lag......Ich hatte die Pullups vergessen. Jetzt kann ich die Daten verwerten, vielen Dank für Deine Hilfe. Sag mal kann es sein, daß I²C über Basic echt langsam ist? Kann man das ganze nicht auch über Assembler realisieren?
Ich trau mich da nicht so richtig ran, da das EEprom ja ebenfalls über Assemblerroutinen angesprochen wird. vielleicht hast Du ja auch nen Tip für mich.

Gruß Jens

PS: Mein angepaßtes Programm...

' --- Definitionen --------------------

define SDA port[1]
define SCL port[2]
define N byte
define Daten byte

' --- Programmoperationen -------------

SDA = ON
SCL = ON


#Loop
gosub Start

gosub Start
Daten = 113 'PCF8574, Lesen
gosub I2C_Write
gosub I2C_Read
print Daten
gosub Ack
gosub Stop
if daten = 207 then beep 250,50,0
pause 1
goto Loop 'Endlosschleife

#Start
SDA = OFF
SCL = OFF
return

#Stop
SDA = OFF
SCL = ON
SDA = ON
return

#I2C_WRITE
for N = 1 to 8
SDA= OFF
if (Daten AND 12 = 128 then SDA = ON
pulse SCL
Daten = Daten shl 1 '1 Bit nach links
next
pulse SCL ' 9. Impuls
return

#I2C_Read
Daten = 0
deact SDA ' SDA = Eingang
for N = 1 to 8
Daten = Daten shl 1 '1 Bit nach links
SCL = ON
if SDA then Daten = Daten + 1
SCL = OFF
next
return

#Ack
SDA = 0
pulse SCL
return

#NoAck
SDA = 1
pulse SCL
return

end

Habe den Wert 207 genommen, da ich P6 und P7 des PCF auf 0 gesetzt habe