Reading and writing Atmega168 EEPROM Tutorial


Posted on Feb 7, 2014

EEPROM (Electrically Erasable Programmable Read Only Memory) Is non-volatile memory, meaning it persists after power is removed. The ATmega168 microcontroller has 512 bytes of EEPROM which can be used to store system parameters and small amounts of data. This tutorial shows you how to read and write EEPROM. This counts how many times the device ha


Reading and writing Atmega168 EEPROM Tutorial
Click here to download the full size of the above Circuit.

s been powered up or reset. In later examples we`ll be adding other datatypes and interracting with the EEPROM in slightly different ways. No need to reinvent the wheel here. We will use the circuit from the Character LCD Displays Part 2 post we did last year, but build it on a breadboard instead. First we need to build a basic Atmega168 breadboard circuit. See Atmega8 breadboard circuit  Part 1 and Part 2 but substitute an Atmega168 for the Atmega8. You will recall that the default values for an erase byte is 0xFF. At lines 11 & 12 we set num_executions to 0 if being run against an erase EEPROM (e. g. first execution). Reading and writing the 8 bit value is almost identical to reading and writing the 16 bit value. If you look at lines 20-25 you will see different functions and datatypes being used but the differences are minor. In c, void *  is used to denote a generic pointer. When we pass real pointers to the function we need to cast them as void * . This is shown in lines 28 and 36. The eeprom_read_block and eeprom_write_block function are very versatile as they can be used with any datatype. For example you could read/write structs or multi dimension arrays using these 2 functions. In large projects, it can be tedious to define the addresses for each EEPROM stored variable. The EEMEM attribute is used to auto allocate addresses for the non-volatile variables. Consider the following code example. Even though these...




Leave Comment

characters left:

Related Circuits

  • New Circuits

    .

     


    Popular Circuits

    800Watt light-dimmer
    High speed warning device
    A Regenerative Receiver with AGC for 80 Meters or 3-10 MHz Shortwave
    GaAs FET preamp
    The Z-bridge
    Multi-physics Model
    HI-FI integrated amplifier TDA7294-02 circuit
    GF2A op amp audio amplifier circuit diagram



    Top