( AVR-Dunio /R3) a készűlék.
Kód: Egész kijelölése
/*IIC EEPROM byte alapu kezelése
Arduino-0022 */
//IIC buszt használunk
#include "Wire.h"
//24LC256 chip cime
#define disk1 0x50
void setup(void)
{//sorosport megnyitása es IIC inicializalas
Serial.begin(9600);
Wire.begin();
}
void.loop(){
//melyik cimre irjunk?
unsigned int address = 0;
//ird be a..., a....cimre,a 123-as szamot
writeEEPROM(disk1, address, 123);
// Mi van a cimen a chipben? Ird ki sorosporton
Serial.println(readEEPROM(disk1, address), DEC);
}
void writeEEPROM(int deviceaddress, unsigned int eeaddress, byte data )
{
Wire.beginTransmission(deviceaddress);
//Cim magas helyierteke
Wire.send((int)(eeaddress >> 8));
//Cim alacsony helyierteke
Wire.send((int)(eeaddress & 0xFF));
//És a beirandó adat
Wire.send(data);
Wire.endTransmission();
delay(5);
}
byte readEEPROM(int deviceaddress, unsigned int eeaddress )
{
byte rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
//Magas helyierték
Wire.send((int)(eeaddress >>8));
//Alacsony helyiérték
Wire.send((int)(eeaddress & 0xFF));
Wire.endTransmission();
//Egy byte olvasando
Wire.requestFrom(deviceaddress,1);
//Ha sikerült....
if (Wire.available()){
rdata = Wire.receive();
}
return rdata;
}]