Vielen Dank, damit hast du mir schon sehr weitergeholfen.

Ich hab jetzt den code ausprobiert.

Sieht so aus:
Code:
$regfile = "M32def.dat"                                     ' the used chip
$crystal = 16000000                               ' frequency used
$baud = 9600

$lib "i2c_twi.lbx"                                ' Für Hardware TWI

Config Twi = 400000                               ' Init TWBR und TWSR

' TWI gleich einschalten, das macht Bascom ansonsten erst beim I2CStart !
TWCR = &B00000100                                 ' nur TWEN setzen

Const Pcf_write = &H68                                      ' Slaveadresse


' Startausgabe
Print
Print "I2C-TWI Demo mit ATmega8"
Print

Do
    I2cstart
    I2cwbyte Pcf_write
    I2cwbyte &H11
    I2cstop

    Print Err                                     ' Err = 0 -> kein Fehler !

    Waitms 500

    I2cstart
    I2cwbyte Pcf_write
    I2cwbyte &H10
    I2cstop

    Print Err                                     ' Err = 0 -> kein Fehler !

    Waitms 500

Loop

End

Leider bekomme ich immernoch 1 zurück. Also steckt iwo noch ein Fehler drinne


Edit:

Was mich auch wundert ist folgendes im Beispiel:
Beispielprogramm sendet ein Byte zum Slave mit Adresse 64 (0x40 bzw. &H40):
Warum wird dort die Adresse denn nicht um ein Bit verschoben?
Dort wird ja der gleiche Hex-Wert genommen./?