mirror of
				https://github.com/0xFEEDC0DE64/arduino-esp32.git
				synced 2025-11-03 23:51:39 +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);
							 | 
						||
| 
								 | 
							
								}
							 |