I'm trying to decrease the number of bits that have to be sent over I2C (in order to reduce latency issues). I'm using an Intel Galileo Board with one I2C slave device (the slave device is an A/D converter). The slave device only needs to receive commands from the Galileo Board.
The slave device waits for a falling edge. When it detects a falling edge, it begins an A/D conversion.
Since there is only one I2C slave device, I am wondering if the command Wire.beginTransmission(44) only needs to be sent once?
I would like to know if the code below would work. I don't have an oscilloscope to use for observing the output on the SDA pin.
(I'm not showing the code for reading the bits from the A/D converter because I'm not going to use I2C to read the bits. Reading the bits will be done using Digital Read commands)
byte val = 0;
Wire.begin(); // join i2c bus
Wire.beginTransmission(44); // transmit to device #44 (0x2c)
//read data from A/D converter (code not shown because it's unrelated to question)