mirror of
				https://github.com/esp8266/Arduino.git
				synced 2025-10-30 04:26:50 +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);
 | |
| }
 |