Ismerkedek az I2C kommunikációval egy EEPROM programozásán keresztül. A céláramköröm a 24LC32.
Leprogramoztam az első 100 memóriacím írását-olvasását. Eredményül azt kaptam, amiért írok és nem értem.
Csatoltam egy képet és a kódot. Tudna valaki segíteni hol rontottam el?
https://drive.google.com/open?id=0B_BT0 ... W40RVZUeEE
Kód: Egész kijelölése
#include "Wire.h"
#define eeprom1 0x57
void setup()
{
Serial.begin(9600);
Wire.begin();
}
void loop()
{
int addr=0;
for(addr=0;addr<=100;addr++)
{
Wire.beginTransmission(eeprom1);
Wire.write(int (addr >> 8));
Wire.write(int (addr & 0xFF));
Wire.write(128);
Wire.endTransmission();
Serial.print(addr,HEX);
Serial.print(": ");
Wire.beginTransmission(eeprom1);
Wire.write(int (addr >> 8));
Wire.write(int (addr & 0xFF));
Wire.endTransmission();
Wire.requestFrom(addr,1);
if (Wire.available())
{
Serial.print(Wire.read());
Serial.print("\t");
Serial.print("\t");
}
else Serial.print("no received data");
if(addr%4==0)
Serial.println();
else Serial.print("\t");
}
while(1)
{
delay(1);
}
}