I'm trying to send some data to an I2C slave from an arduino. Maybe a silly question but do i need to have the slave connected to test the output from the arduino? At the minute i have the arduino connected directly to my logic analyser.
This is the data i captured between the master and slave earlier, its the radio and display in one of the cars.
(http://i256.photobucket.com/albums/hh169/chet_t16/rasta/display/i2c_car.png)
This is the arduino code, pin 2 is the MRQ line
#include <Wire.h>
void setup() {
Wire.begin();
pinMode(2, OUTPUT);
digitalWrite(2, HIGH);
delay (1000);
}
void loop()
{
digitalWrite(2, LOW);
delay(20);
digitalWrite(2, HIGH);
Wire.beginTransmission(0x94);
digitalWrite(2, LOW);
Wire.send(0xB0);
Wire.send(0x85);
Wire.send(0xAB);
Wire.send(0x62);
Wire.send(0x40);
Wire.send(0x40);
Wire.send(0x40);
Wire.send(0x73);
Wire.send(0x62);
Wire.send(0x67);
digitalWrite(2, HIGH);
Wire.endTransmission();
delay(1000);
}
And this is what i'm capturing on the logic analyser (note the write to address isn't the one in the code) Any i2c code i try run gives the same output)
(http://i256.photobucket.com/albums/hh169/chet_t16/rasta/display/i2c_ard.png)
So, yeah, i'm a bit confused. Is the arduino expecting a response from the slave? Even if it was i don't get why the address would be wrong. Is there different i2c protocols? I
Any input appreciated!