I have written a program to read data from Microchip I2C EEPROM 24XX64. Initially I was able to get an acknowledge from the slave for command byte which indicates a READ operation. Perhaps, instead of data bits I was able to witness stL( write drive low signal) in model simulator. I would like to know the reason for this and what must be done to over come this signal.
0
votes
1 Answers
3
votes
To read from an I2C slave, you usually have to write the register address first. The process to read is:
- START
- Device Address + WRITE
- Register Address (# of bytes depends on slave)
- REPEATED START
- Device Address + READ
- Slave ACKs
- Master Read bytes and NACKs when it's had enough
- STOP
Did you do a write to set up a register address for the read?