mirror of
				https://github.com/esp8266/Arduino.git
				synced 2025-11-03 14:33:37 +03:00 
			
		
		
		
	* Add EEPROM debug printouts, error check to example Add debug printouts when EEPROM calls fail, even if the API doesn't allow returning a success/failure code. Adds error checking to the example to make it explicit that when you call EEPROM::commit(), you need to look at the result code in your code. Fixes #6551 , or would fix it if there was error checking in the MCVE. * Clarify example error message
		
			
				
	
	
		
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			46 lines
		
	
	
		
			1.1 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
/*
 | 
						|
   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 <EEPROM.h>
 | 
						|
 | 
						|
// the current address in the EEPROM (i.e. which byte
 | 
						|
// we're going to write to next)
 | 
						|
int addr = 0;
 | 
						|
 | 
						|
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 = analogRead(A0) / 4;
 | 
						|
 | 
						|
  // write the value to the appropriate byte of the EEPROM.
 | 
						|
  // these values will remain there when the board is
 | 
						|
  // turned off.
 | 
						|
  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;
 | 
						|
  if (addr == 512) {
 | 
						|
    addr = 0;
 | 
						|
    if (EEPROM.commit()) {
 | 
						|
      Serial.println("EEPROM successfully committed");
 | 
						|
    } else {
 | 
						|
      Serial.println("ERROR! EEPROM commit failed");
 | 
						|
    }
 | 
						|
  }
 | 
						|
 | 
						|
  delay(100);
 | 
						|
}
 |