根据官方说明,各版本的Arduino都自带一个小容量的EEPROM,在各型号的arduino控制器上的AVR芯片均带有EEPROM,也有外接的EEPROM芯片,常见arduino控制器的EEPROM大小:
Arduino UNO、Arduino duemilanove-m328、Zduino m328均使用ATmega328芯片,EEPROM都为1K
Arduino duemilanove-m168的EEPROM为512bytes
Arduino 2560的EEPROM为4K
这里为了简单体验读写EEPROM的操作过程,先向前十个字节里分别写入250~241序列数值,然后断电,再上电,再通过读取函数,将前十个字节的内容读取出来,比较是不是当初断电前保存进去的数据即可。
代码文件:sketch_eeprom.ino
/**********************************************************************
针对Arduino UNO 版本
自带1K 大小的EEPROM空间,实现断电可保存数据
*********************************************************************/
#include <EEPROM.h> //引入EEPROM的类库,方便读写操作
int addr = 0;
int state = 1;
/***********************************************************************
初始化过程
**********************************************************************/
void setup()
{