This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

Reading consecutive values from EEPROM via I2C

I am trying to read 500 values stored on an EEPROM via I2C. The values were written to the EEPROM via I2C using the Example_2833xI2C_eeprom.c code using the F28335 Experimenter's Kit.

I have tried to reset the I2C module and setting different bits but this register continues to show to be equal to 1:

I2caRegs.I2CSTR.bit.BB 

The code will only read 1 value stored on the eeprom and continues in an endless loop. I cannot generate a stop condition so it can get out of the loop. Any suggestions? Attached is the code with my modifications.

6332.modified_Example_2833xI2C_eeprom.c

  • Hi Charles,

    Since it loops endlessly after the 1st received byte, it would seem that the C28 is waiting on the remaining I2CCNT-1 bytes to be transferred over. Did the C28 ACK the first byte from the EEPROM...the ACK should tell the EEPROM to keep transmitting. In the event of a NACK the SDA line is going to be held high and the BB remains set.