Shop OBEX P1 Docs P2 Docs Learn Events
eeprom storage problem — Parallax Forums

eeprom storage problem

Steve2381Steve2381 Posts: 94
edited 2005-05-28 22:58 in BASIC Stamp
Ok, I am being thick here I am sure.

One of my programs fills nearly all the memory up, and just leaves a small amount left.
During my program, a routine needs to store three values in the eeprom for retrieval even after a power down.
I cannot get it to store these values, as the program is over-writing the memory addresses.
How do you work out the memory address of the spare remaining space, so that I can 'write' to a free memory area.
IC0, 1B0 and 1D0 are the rows showing free on the memory map.·

thanks (again!)
·

Comments

  • NewzedNewzed Posts: 2,503
    edited 2005-05-28 22:35
    When you try to store data in EEPROM, data storage starts at the very bottom of the memory.· If you have free space at the top of the memory map, beginning with 000 then you can store data.· For instance:

    write 0, var1
    write 10, var2
    write 20, var3

    Then you can read what you have stored and put the values in any variable you choose:

    read 0, x
    read 10, y
    read 20, z

    Clear enough?

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Sid Weaver
    Need a bezel for your LCD?

    Newzed@aol.com
    ·
  • allanlane5allanlane5 Posts: 3,815
    edited 2005-05-28 22:54
    Another way of saying this is that PBasic and the IDE store your program starting at high memory addresses. This leaves the low memory addresses (like zero, 1, 2, ... ) free for 'DATA 0, 100' type statements. If you DID use this statement, then you could READ and WRITE location zero as desired.

    If you do this, you as a programmer need to insure your eeprom DATA space, and your code space, do not collide. PBasic does not insure this by itself. You can easily use the Memory Map to determine what space is available. Look up the DATA statement for how to set and use these addresses.
  • Jon WilliamsJon Williams Posts: 6,491
    edited 2005-05-28 22:58
    The Memory Map feature of the IDE will show you how much you're actually using. Addresses starting at 0 are where you may be able to store data. And remember that with PBASIC 2.5 you can store a Word with one line of code:

    WRITE 0, Word myValue

    -- and it works for READ too:

    READ 0, Word myValue

    ▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔▔
    Jon Williams
    Applications Engineer, Parallax
Sign In or Register to comment.