IIC协议和24C02介绍:
见此链接
IIC协议和24C02介绍
adruino实物图:
整体实物图:
程序源码:
#include <EEPROM.h> //EEPROM的类库
int Addr24C02=0;
int led=13;
void setup()
{
Serial.begin(9600);
}
void clearData(void)
{
for(int i=0;i<256;i++)
{
EEPROM.write(i,0xff);
}
digitalWrite(led,HIGH);
Serial.println("clear data finished");
}
void handler(int state)
{
if(state==1)
{
Serial.println("read data is: ");
readData(0);
}
else if(state==2)
{
Serial.println("write data ing");
int val = 255;
int i=0;
for(i=0;i<256;i++)
{
writeData(val--);
}
}
else
clearData();
}
void loop()
{
delay(1000);
handler(0);
delay(1000);
handler(2);
delay(1000);
handler(1);
}
void writeData(int value)
{
EEPROM.write(Addr24C02,value);
Serial.print(Addr24C02);
Serial.print(" : \t");
Serial.print(value,DEC);
Serial.print("\n");
Addr24C02 = Addr24C02 + 1;
if(Addr24C02 == 512)
{
Addr24C02 = 0;
delay(200);
}
}
void readData(int addr)
{
int value = 0;
int i=0;
for(i=0;i<200;i++)
{
value = EEPROM.read(addr++);
Serial.print("Addr24C02: ");
Serial.print(addr-1);
Serial.print(" = ");
Serial.println(value,DEC);
Serial.println("");
}
}
Effect Drawing: