I played few days with EEPROM AT24C256.
This one:
I found 3-4 reliable examples of coding.
The most basic (for me) is this one:
http://www.hobbytronics.co.uk/arduino-external-eeprom
I read the datasheet from Atmel and other producers - notably Shangai Fudan Manufacturers appear to be the most explanatory I can find.
I experiment examples and try changing commands (statements etc.) using this chip mounted on I2C and the example codes.
I re-read the C++ tutorial from the net and learning section here.
====
Still not getting it in deep:
-
When coding, shall I refer to memory addresses in decimal, binary or hexa? In other words, does the write and read to eeprom convert the address given to an internal format or better provide it in hexa?
-
How is in fact organized the memory (map)? It is a page-like, I got it. But then it is said x and y reference, that is to be done by the register , OK but how the register interpret the one byte address then, since it shall point in a 2-D space?!
-
Memory is to be written byte by byte, OK. But first octet - the one which stores the type of the device and is address for I2C- is address zero? Or shall not be counted and the next octet is zero?
-
When I say to the EEPROM "write to address 2000", is that address including - as a zero - this first device address byte?
-
And it looks like the address "2000" is in decimal, am I correctly understanding? It means the octet address number 2000?
===
Since this is not about a certain project, I did not post the coding and the wiring. The wiring I know is correct and the tests confirmed I can write and read to eeprom.
My point is to understand, not to copy-paste codes.
I could not find an internet extended reference for this basic EEPROM knowledge (e.g. a memory map, an explanation of the commands or an extended explanation of memory addressing in either Arduino or plain C++.
Thank you for any interenet reference, personal explanations/tips!