Gast
#966297
hallo, zur zeit beschäftige ich mich mit der kommunikation zwischen 2 ICs bzw. Atmel-Controllern atMegax8. ich habe mir auch schon dazu die Bibliothek ic2master von Peter Fleury runtergeladen. Nun zu meinem Verständisproblem: Man kann ja jedem Slave eine beliebige Adresse vergeben. Diese wird ja dann ins TWDR geschrieben mit der entsp. Operation (lesen oder schreiben). // aus dem Quellcode von P.F i2c_start_wait(Dev24C02+I2C_WRITE); // set device address and write mode // aus i2c_start(address) // send device address TWDR = address; wenn ich nun z.b einem Slave die Adresse 11 verpasse, so ist doch Bit 0 immer 1. So wäre das doch dann immer im Lese-Modus!? Ich habe da leider noch nix genaueres gefunden, wo das genauer beschrieben ist, mit dem SLA_R bzw. SLA_W. Also meinen Verständis nach müsste man doch die Adresse um 1 nach links schieben und dann Bit 0 mit TW_READ oder TW_WRITE verodern. Dann wäre man doch von der gewählten Adresse unabhängig.. oder sehe ich irgendwie was falsch? mfg