aboutsummaryrefslogtreecommitdiff
path: root/libraries/EEPROM/examples/eeprom_write/eeprom_write.ino
diff options
context:
space:
mode:
Diffstat (limited to 'libraries/EEPROM/examples/eeprom_write/eeprom_write.ino')
-rw-r--r--libraries/EEPROM/examples/eeprom_write/eeprom_write.ino30
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;
***/