/*
* EEPROM 写入
*
* 将从模拟输入 0 读入的值写入 EEPROM 中。
* 在开发板关闭的时候,这些值仍然储存在 EEPROM 中,
* 并且可供其它程序读取。
*/
#include <EEPROM.h>
// EEPROM 的当前地址
// 即我们将要写入的地址
int addr = 0;
void setup()
{
}
void loop()
{
// 由于模拟输入的值域是在 0 到 1023 之间,
// 而 EEPROM 的每个字节只能存储 0 到 255,
// 需要将模拟输入值除 4。
int val = analogRead(0) / 4;
// 将处理过的字节写入 EEPROM。
// 这些值会在开发板电源关闭的时候仍然保存。
EEPROM.write(addr, val);
// 前进到下一个地址。
// EEPROM 只有 512 字节,地址从 0 到 511
// 所以如果地址等于 512,应该回到 0
addr = addr + 1;
if (addr == 512)
addr = 0;
delay(100);
}