This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

Interfacing problems of EEPROM using I2C1 port of LPC2378

I am interfacing AT24C1024 (2 Nos.) EEPROM using I2C1 (channel 1) port of LPC2378 but i am not able to read / write into it.
However i have successfully implemented same EEPROM with I2C0 (channel 0) port of LPC2378. And i used same code snippets which i used for I2C0 while interfacing EEPROM with I2C1 but it is not working.
Currently i have disabled I2C0 initialisation, ISR Routines in my code only using I2C1 but still it is giving me problems. SDA0, SCL0 have external pull ups of 10K and SDA1 and SC1 have internal pull ups enabled.
As fas as software is concerned i have used same working code which i used in I2C0 with only changing regsiters name.
Do help me in this regard.

Parents
  • I checked I2C1 is enabled on power on.
    The code executes I2C1 ISR routine when START is given but after debugging i found out that it is getting NO ACK from EEPROM. It goes in case 0x20 (Slave address+ W transmitted NO ACK received) first. And then my code is getting hanged in case 0x30 (Data Byte in I2DAT is transmitted, NO ACK has been received), instead of executing cases 0x18 and 0x28 of Master Transmitting Mode.
    What could be the possible reason for NO ACK?
    I checked the hardware it is working fine when I2C0 is used but in case of I2C1 i could not write/read anything in EEPROM

Reply
  • I checked I2C1 is enabled on power on.
    The code executes I2C1 ISR routine when START is given but after debugging i found out that it is getting NO ACK from EEPROM. It goes in case 0x20 (Slave address+ W transmitted NO ACK received) first. And then my code is getting hanged in case 0x30 (Data Byte in I2DAT is transmitted, NO ACK has been received), instead of executing cases 0x18 and 0x28 of Master Transmitting Mode.
    What could be the possible reason for NO ACK?
    I checked the hardware it is working fine when I2C0 is used but in case of I2C1 i could not write/read anything in EEPROM

Children