I have been observing a slave address different then I expect.
I am connected to an Analog Devices ADAU1701, and the literature says it's slave address is 0x68 (with 2 external pins used to modify it's slave address but I have them grounded.)
It then says the LSB of the address is the R/W bit, and I understand all that.
If I place 0x68 in the SAR, tracing the data bits on my 'scope, I see 0xD0 when I want to write, (0xD1 for read.) Rather, I use the statement
I2caRegs.I2CSAR = Slave_address >> 1; // where Slave_address = 0x0068
I thus infer the I2C firmware is appending the r/w bit to the end of the SAR (making 9 bits) then shifting the 9 bits to the left one bit loosing the MSb.
Is this expected behavior? If so, where is it documented?
Thanks, Mark.
Edit Sorry, I am using CCS 3.3, on a Piccolo 28027 ControlCard with it's Docking Station.