Home Page | Language Reference (extended) | SD Reference | Libraries | Comparison | Changes
EEPROM
put()
Description
Write any data type or object to the EEPROM.
Syntax
EEPROM.put(address, data)
Parameters
address: the location to write to, starting from 0 (int)
data: the data to write, can be a primitive type (eg. float) or a custom struct
Returns
A reference to the data passed in
Note
This function uses EEPROM.update() to perform the write, so does not rewrites the value if it didn't change.
Example
/***
eeprom_put example.
This shows how to use the EEPROM.put() method.
Also, this sketch will pre-set the EEPROM data for the
example sketch eeprom_get.
Note, unlike the single byte version EEPROM.write(),
the put method will use update semantics. As in a byte
will only be written to the EEPROM if the data is actually
different.
Written by Christopher Andrews 2015
Released under MIT licence.
***/
#include <EEPROM.h>
struct MyObject
{
float field1
;
byte field2
;
char name
[
10
]
;
}
;
void
setup
(
)
{
Serial.
begin
(
9600
)
;
while
(
!
Serial
)
{
;
// wait for serial port to connect. Needed for native USB port only
}
float f
=
123.456f
; //Variable to store in EEPROM.
int eeAddress
=
0
; //Location we want the data to be put.
//One simple call, with the address first and the object second.
EEPROM.
put
(eeAddress
, f
)
;
Serial.
println
(
"Written float data type!"
)
;
/** Put is designed for use with custom structures also. **/
//Data to store.
MyObject customVar
=
{
3.14f
,
65
,
"Working!"
}
;
eeAddress
+= sizeof
(
float
)
;
//Move address to the next byte after float 'f'.
EEPROM.
put
(eeAddress
, customVar
)
;
Serial.
print
(
"Written custom data type! \n
\nView the example sketch eeprom_get to see how you can retrieve the values!"
)
;
}
void
loop
(
)
{
/* Empty loop */
}
See also
Reference Home
Corrections, suggestions, and new documentation should be posted to the Forum.
The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.