EEPROM (Electrically Erasable Programmable read only memory)是指带电可擦可编程只读存储器。是一种掉电后数据不丢失的存储芯片。 EEPROM 可以在电脑上或专用设备上擦除已有信息,重新编程。一般用在即插即用。
直接上代码,代码里也有一些注解
- /*
- 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
- // the current address in the EEPROM (i.e. which byte
- // we're going to write to next)
- int addr = 0;
- byte value;
- void setup() {
- Serial.begin(115200);
- EEPROM.begin(512);
- }
- 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 = 20 / 4;
- // write the value to the appropriate byte of the EEPROM.
- // these values will remain there when the board is
- // turned off.
- //向地址0写数据
- 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.
- // save all changes to the flash.
- addr = addr + 1;
- Serial.print(addr);
- Serial.println();
- if (addr == 512) {
- addr = 0;
- if (EEPROM.commit()) {
- Serial.println("EEPROM successfully committed");
- //从地址0读数据
- value = EEPROM.read(addr);
- Serial.print(addr);
- Serial.print("t");
- Serial.print(value, DEC);
- Serial.println();
- } else {
- Serial.println("ERROR! EEPROM commit failed");
- }
- }
- delay(100);
- }
上图看结果: