device = new I2CDevice(new I2CDevice.Configuration(0x48, 400)); byte[] command = new byte[] { 1, 0 }; I2CDevice.I2CWriteTransaction[] transaction = new I2CDevice.I2CWriteTransaction[] { I2CDevice.CreateWriteTransaction(command) }; int result = device.Execute(transaction, 1000);
So on the LA I'm expecting to see
Start command
Device code with the lower bit set to 0 (for write) followed by ACK
Two bytes 1 and 0 (each followed by an ACK)
Stop command
What I'm actually seeing is
Start command
Device code and lower bit set correctly followed by NAK
Stop command
The LA is Saleae and I've set the system to process I2C data.
Have I missed something in the code as it appears that the 1 and the 0 bytes are not being output to the I2C device
Thanks in advance,
Mark
Edit: Aditional Information
The chip is a lone chip on the bus and has the specified pull-up resistors.
According to the spec the data transfers do not require repeated start bits.
Edited by Nevyn, 29 April 2011 - 09:03 PM.