1. What bit rates are supported by the I2C interface?
>> The I2C channel can be set to operate in fast mode (400 kHz) or standard mode (100 kHz).
2. How many slaves can be addressed?
>> Supports four 7-bit device addresses in the slave or one 10-bit address and two 7-bit addresses.
3. What features from the standard I2C spec does it support?
>> 10-bit addressing, repeated starts, Clock stretching for both master and slave, master arbitration and General call features are supported.
We don't have example for independent slave function, but if you follow the adi_I2C_MasterSlaveLoopback function in i2c.c, you should be able to implement an i2c slave
The MasterSlaveLoopback function implements a master TX and slave RX. I want to implement a fully independent slave RX/TX which can be used to exchange data with some other hardware. Is there an example for the same?
I have problem that ADUMC350 do not send acknowledgement when I address it (slaveID) in the bus.
I use the following steps:
adi_I2C_SlaveInit (ADI_I2C_DEVID_0, &hDevice)
adi_I2C_RegisterCallback(hDevice, cbHandler, hDevice)
while (true) ; //loop
Where is mistake?
If there is no I2C slave example available please provide steps (function names) which needs to be taken to initiate i2c as slave receiver/transmitter.
In sdk 18.104.22.168 functions adi_I2C_SlaveInit, adi_I2C_SlaveReceive, adi_I2C_SlaveTransmit are not described, and there is no example of using I2C in slave mode. Can you give example of using slave mode in I2C by ADUCM350?
There is a function in i2c.c for implementing a master/slave loopback (adi_I2C_MasterSlaveLoopback). Following the flow of this function may help you.