| Author | beginning argument ( Replies received: 1 ) |
| JakBird |
Posted 25-06-2008 at 02:07   |

Registered on : 04-23-2007
From USA
Messages : 36
OFF-Line
|
How do I detect if a device does not respond to its bus address when issuing an I2C write from the STR750 as bus master? Since the non-existent device doesn't ACK, does the I2C wait indefinitely, or does some type of interrupt occur? Do I need a bus timer to reset the I2C bus, similar to SMBus?
|
|
|
Profile
Quote
|
| JakBird |
Posted 25-06-2008 at 19:44   |

Registered on : 04-23-2007
From USA
Messages : 36
OFF-Line
|
After some more reading in the manual it seems the AF flag is set if an ACK isn't received, and AF will generate an interrupt. What isn't clear is how to reset the I2C bus in this state. Do I generate a STOP to clear the current bus transaction? What state is the I2C logic left in?
Also, it's not clear what happens if the slave device stops sending while the STR750 is in receive mode. There's no AF flag in that case. Is a timer needed for this case?
|
|
|
Profile
Quote
|