aboutsummaryrefslogtreecommitdiff
path: root/libraries/EEPROM/examples/eeprom_write
diff options
context:
space:
mode:
authorThibaut VIARD <thibaut.viard@atmel.com>2011-06-21 00:20:43 +0200
committerThibaut VIARD <thibaut.viard@atmel.com>2011-06-21 00:20:43 +0200
commit0887b98f627500271b5ad8b3c4f6c7b90bc227ee (patch)
treeef8626954567ba22e392c68c8f3606416b07b5b5 /libraries/EEPROM/examples/eeprom_write
parent90c487402cefadb6a2aab907ab07075cbb759e34 (diff)
Moving all AVR specific libraries to hardware/avr
Diffstat (limited to 'libraries/EEPROM/examples/eeprom_write')
-rw-r--r--libraries/EEPROM/examples/eeprom_write/eeprom_write.pde38
1 files changed, 38 insertions, 0 deletions
diff --git a/libraries/EEPROM/examples/eeprom_write/eeprom_write.pde b/libraries/EEPROM/examples/eeprom_write/eeprom_write.pde
new file mode 100644
index 0000000..ae7c57e
--- /dev/null
+++ b/libraries/EEPROM/examples/eeprom_write/eeprom_write.pde
@@ -0,0 +1,38 @@
+/*
+ * EEPROM Write
+ *
+ * Stores values read from analog input 0 into the EEPROM.
+ * These values will stay in the EEPROM when the board is
+ * turned off and may be retrieved later by another sketch.
+ */
+
+#include <EEPROM.h>
+
+// the current address in the EEPROM (i.e. which byte
+// we're going to write to next)
+int addr = 0;
+
+void setup()
+{
+}
+
+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;
+
+ // write the value to the appropriate byte of the EEPROM.
+ // these values will remain there when the board is
+ // turned off.
+ EEPROM.write(addr, val);
+
+ // advance to the next address. there are 512 bytes in
+ // the EEPROM, so go back to 0 when we hit 512.
+ addr = addr + 1;
+ if (addr == 512)
+ addr = 0;
+
+ delay(100);
+}