mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-10-31 14:11:42 +01:00 
			
		
		
		
	
		
			
	
	
		
			64 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Arduino
		
	
	
	
	
	
		
		
			
		
	
	
			64 lines
		
	
	
		
			1.7 KiB
		
	
	
	
		
			Arduino
		
	
	
	
	
	
|   | /*
 | ||
|  |    EEPROM Write | ||
|  | 
 | ||
|  |    Stores random values 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; | ||
|  | #define EEPROM_SIZE 64
 | ||
|  | void setup() | ||
|  | { | ||
|  |   Serial.begin(115200); | ||
|  |   Serial.println("start..."); | ||
|  |   if (!EEPROM.begin(EEPROM_SIZE)) | ||
|  |   { | ||
|  |     Serial.println("failed to initialise EEPROM"); delay(1000000); | ||
|  |   } | ||
|  |   Serial.println(" bytes read from Flash . Values are:"); | ||
|  |   for (int i = 0; i < EEPROM_SIZE; i++) | ||
|  |   { | ||
|  |     Serial.print(byte(EEPROM.read(i))); Serial.print(" "); | ||
|  |   } | ||
|  |   Serial.println(); | ||
|  |   Serial.println("writing random n. in memory"); | ||
|  | } | ||
|  | 
 | ||
|  | 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(10) / 4;
 | ||
|  |   int val = byte(random(10020)); | ||
|  |   // 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); | ||
|  |   Serial.print(val); Serial.print(" "); | ||
|  |   // 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 == EEPROM_SIZE) | ||
|  |   { | ||
|  |     Serial.println(); | ||
|  |     addr = 0; | ||
|  |     EEPROM.commit(); | ||
|  |     Serial.print(EEPROM_SIZE); | ||
|  |     Serial.println(" bytes written on Flash . Values are:"); | ||
|  |     for (int i = 0; i < EEPROM_SIZE; i++) | ||
|  |     { | ||
|  |       Serial.print(byte(EEPROM.read(i))); Serial.print(" "); | ||
|  |     } | ||
|  |     Serial.println(); Serial.println("----------------------------------"); | ||
|  |   } | ||
|  | 
 | ||
|  |   delay(100); | ||
|  | } |