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:
Warum wird dort die Adresse denn nicht um ein Bit verschoben?Beispielprogramm sendet ein Byte zum Slave mit Adresse 64 (0x40 bzw. &H40):
Dort wird ja der gleiche Hex-Wert genommen./?







Zitieren

Lesezeichen