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

AT24C512 problem with P89C51RD2

Hi!,

I've written a code for I2C communication which works fine for almost all I2C devices. Now I'm using the same code for using with AT24c512 EEPROM. I can read and write a byte to it perfecty.

When I try to read memory locations greater than 25000, then I get some unexpected data which I don't understand, on the other hand if I write & read from locations less than 25000 I do get correct and perfect results.

For example: I write '0' to locations 0xEA60 to 0xEA65 and try to read it back, I get 0x8B09.

I use a delay of 5ms between each byte write operation. Is there any need to use some delay in ready byte operation also? Also I'm using some interrupts like Timers,Serial etc. Please help me understand why this is happening.

+Moses M.

0