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.

i2c current read operation adress pointing fault

Status
Not open for further replies.

jaga123

Member level 1
Member level 1
Joined
May 16, 2011
Messages
32
Helped
3
Reputation
6
Reaction score
3
Trophy points
1,288
Location
india
Visit site
Activity points
1,533
in my I2C current read operation .. i cant read the current adress (valu where stored).

i have done the write operation and stored a value 41h at 30h address of 24c08 eeprom. but at the time or current read i want to read that value from 41h adress but it pointed to 42h and gives out put 00h. so how i read 41h .. at one program.
here i am using asembly language and at89s52 mc.
 

Read the datasheet.
The internal data word address counter maintains the last
address accessed during the last read or write operation, incremented by one.

So, if you want to read the data from address you have just written to you need to follow the instructions for "random read".

Keith
 
  • Like
Reactions: tpetar

    tpetar

    Points: 2
    Helpful Answer Positive Rating
are u sure data is written correctly.
be sure that given 5ms delay after writting to EEPROM.
to know exact error plz upload the code.
 

As you already found out, the current address is auto-incremented after a read- or write operation. To read-back a memory location you have just written, the address must be send to the device once more, then perform the read. The sequence is shown as "random access read" in the datasheet.
 

    V

    Points: 2
    Helpful Answer Positive Rating
random read :--------- dummy write followed by current address read
Dummy write is except stop and data you give all things as it is..
{Start}{Devaddress + Wr}{memlocation addres} {Start}{Devaddress + Rd}{read the data+NACK}{stop}
 

{Start}{Devaddress + Wr}{memlocation addres} {Start}{Devaddress + Rd}{read the data+NACK}{stop}
Yes, that's the sequence. But I won't call it dummy write. It's necessary address write.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top