Am besten erst nen Namen vergeben, falls sich die Adresse mal ändert, und damit man sie sich besser merken kann:
#define adresse 0x74
Und dann
i2c_start(adresse+I2C_WRITE);
Das I2C_WRITE bzw. I2C_READ wählt aus, ob du den Slave auslesen oder beschreiben willst.
(Hintergrund für die Schreibweise als Addition zur Adresse: Bei I2C haben die eigentlichen Adressen nur seiben Bit. Das achte Bit bestimmt die Richtung der folgenden Datenübertragung. Es wird vom Master direkt nach der Startbedingung also ein Byte gesendet, die seiben Bit Adresse plus ein Bit Richtung. Daher werden nun die beiden Komponenten zusammengerechnet, um das vollständige Byte zu bilden. In der ic2master.h ist I2C_WRITE als 0 bzw. I2C_READ als 1 definiert.
)
Lesezeichen