Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

[SOLVED] problem with the eeprom 24cxx

Status
Not open for further replies.

Th3r4p1sT

Junior Member level 1
Joined
Dec 20, 2010
Messages
15
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,283
Activity points
1,410
Hi all!
i am using 24c02 in my project. and i have a reading problem.

for example
i send some different bytes to eeprom and read them back.

when i watch the transfer in isis i2c debugger,

whatever i sent, i always read the one that i last sent.

im sending a picture of debugging screen

debug.png

How/why can this happen? please help me about this.
Thank you!
 

Attachments

  • debug.png
    debug.png
    86.9 KB · Views: 135

I see, that you have a stop start sequence between address write and data read. The datasheets requests a repeated start instead. Even if it isn't a problem with the real chip (I don't actually know), it may be a problem for Proteus.
 

hello again,

after i wrote my problem here, i had an idea and tried it.

so i solve this problem.

here;
i have changed the 24c02 eeprom with a 24c32 eeprom. and the codes worked.

So, i understood that i was sending the address data as a word (example: 0x0010)

After that, i corrected my codes and i sent the address data as a byte (example: 0xff). and changed the eeprom with 24c02 .
And the codes worked.

So, we understood that if our eeprom includes 256x8 bit, we must not use word address. :D

See you!
 

hai i am doing project using pic18f458 and eeprom 24c02 & i done read write operations correctly but its memory is only 256 bytes , i need memory more than this so i choose eeprom 24c32.

In 24c02 i am writing only "one 8bit" data but in 24c32 i need to write "two 8bit" data,so i need to know how to write two 8 bit data.


ex:for 24c02
let m3=10;//memory location
i2c_eeprom_write(m3,0,dat[0]);
m3=m3+2;
whatever data in the dat[0] its writing in memory location m3 i.e 10 and i don't know o in above i2c_eeprom_write instruction ,in eeprom.c its given like i2c_eeprom_write(unsigned long int addrh,unsigned char addrl,unsigned char data)
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top