总文已经介绍了EEPROM 。EEPROM library显然是Arduino开发者为了照顾高手所开发的库。
不同的Arduino板有不同的EEPROM 大小:ATmega328有1024 bytes;ATmega168和ATmega8有512 bytes;ATmega1280和ATmega2560有4KB(4096bytes)。
函数:
(1)read();
(2)write();
read():
功能:从EEPROM读一个字节。没有被写入的位置默认值为255。
形式:(address)
参数:address:读的地址,从0(int)开始。
返回值:存储在address位置的值。
示例:
#include <>
int a = 0;
int value;
void setup()
{
(9600);
}
void loop()
{
value = (a);
(a);
("\t");
(value);
();
a = a + 1;
if (a == 512)
a = 0;
delay(500);
}
此程序是循环读取EEPROM中地址0到512的值,并用串口打印出来。
write():
功能:写入一个字节到EEPROM;
形式:(address,value)
参数:address:写入的地址,从0(int)开始;
value:写入的数值,0~255(byte);
返回值:none。
注:EEPROM写操作需要3.3ms完成,EEPROM有特定的100000写入/擦除周期,因此要注意写入的频率。
示例:
#include <>
void setup()
{
for (int i = 0; i < 255; i++)
(i, i);
}
void loop()
{
}