diff options
Diffstat (limited to 'libraries/EEPROM/examples/eeprom_write')
| -rw-r--r-- | libraries/EEPROM/examples/eeprom_write/eeprom_write.ino | 30 | 
1 files changed, 16 insertions, 14 deletions
diff --git a/libraries/EEPROM/examples/eeprom_write/eeprom_write.ino b/libraries/EEPROM/examples/eeprom_write/eeprom_write.ino index f07446c..f9bea64 100644 --- a/libraries/EEPROM/examples/eeprom_write/eeprom_write.ino +++ b/libraries/EEPROM/examples/eeprom_write/eeprom_write.ino @@ -9,18 +9,19 @@  #include <EEPROM.h>  /** the current address in the EEPROM (i.e. which byte we're going to write to next) **/ -int addr = 0;  +int addr = 0; -void setup(){ /** Empty setup. **/} +void setup() { +  /** Empty setup. **/ +} -void loop() -{ +void loop() {    /***      Need to divide by 4 because analog inputs range from      0 to 1023 and each byte of the EEPROM can only hold a      value from 0 to 255.    ***/ -   +    int val = analogRead(0) / 4;    /*** @@ -28,28 +29,29 @@ void loop()      these values will remain there when the board is      turned off.    ***/ -   +    EEPROM.write(addr, val);    /*** -    Advance to the next address, when at the end restart at the beginning.     -     +    Advance to the next address, when at the end restart at the beginning. +      Larger AVR processors have larger EEPROM sizes, E.g:      - Arduno Duemilanove: 512b EEPROM storage.      - Arduino Uno:        1kb EEPROM storage.      - Arduino Mega:       4kb EEPROM storage. -     +      Rather than hard-coding the length, you should use the pre-provided length function. -    This will make your code portable to all AVR processors.     +    This will make your code portable to all AVR processors.    ***/    addr = addr + 1; -  if(addr == EEPROM.length()) +  if (addr == EEPROM.length()) {      addr = 0; -     +  } +    /*** -    As the EEPROM sizes are powers of two, wrapping (preventing overflow) of an  +    As the EEPROM sizes are powers of two, wrapping (preventing overflow) of an      EEPROM address is also doable by a bitwise and of the length - 1. -     +      ++addr &= EEPROM.length() - 1;    ***/  | 
