#define I2C_SEND_DATA_BUFFER_SIZE 0x20 #define I2C_RECEIVE_DATA_BUFFER_SIZE 0x20 #define SLAVE_CODEUR_ADDR 0xA1 #include "i2c.h" // local I2C data buffer unsigned char localI2CBuffer[] = "12345678901234567890"; unsigned char localI2CBufferLength = 0x20; /** * Programme principal du robot */ int main(void) { i2cInit(); // un premier test en envoyant A à l'esclave "codeur" localI2CBufferLength = 0; // on part de 0 localI2CBuffer[localI2CBufferLength++] = 'A'; // on place un octet et on augmente la longueur de 1 i2cMasterSend(SLAVE_CODEUR_ADDR, localI2CBufferLength, localI2CBuffer); // puis on reçoit 4 octets i2cMasterReceive(SLAVE_CODEUR_ADDR, 4, localI2CBuffer); }