EEPROM Clear
/*Sets all of the bytes of the EEPROM to 0.*/
#include [EEPROM.h]
/*these should be Less-than & Greater-than brackets
but Blogger thinks they're HTML :-( */
void setup()
{
// write a 0 to all 512 bytes of the EEPROM
for (int i = 0; i [ 512; i++)
EEPROM.write(i, 0);
// turn the LED on when we're done
digitalWrite(13, HIGH);
}//end setup()
void loop()
{}//end empty looop
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. */
/* the current address in the EEPROM
(i.e. which byte we're going to write to next) */
int addr = 0;
void setup() { } //end empty setup()
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(0) / 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. */
addr = addr + 1;
if (addr == 512) addr = 0;
delay(100);
}//end loop()
EEPROM Read
/*Reads the value of each byte of the EEPROM
and prints it to the computer.*/
#include [EEPROM.h]
// start reading from the first byte (address 0) of the EEPROM
int address = 0;
byte value;
void setup()
{
Serial.begin(9600);
}//end setup()
void loop()
{
// read a byte from the current address of the EEPROM
value = EEPROM.read(address);
Serial.print(address);
Serial.print("\t");
Serial.print(value, DEC);
Serial.println();
// advance to the next address of the EEPROM
address = address + 1;
/* there are only 512 bytes of EEPROM, from 0 to 511, so if we're
on address 512, wrap around to address 0 */
if (address == 512)
address = 0;
delay(500);
}//end loop()
No comments:
Post a Comment