Действительно, вспомнил, я правил в либе эти строки. Просто машинально, автозаменил, и в памяти не отложилось
В заголовке пишу
Код:
//#define needEEPROM 1 // подключать ли внешнюю ППЗУ? (1 - внешняя, 0 - ПЗУ МК)
//#define sizeROM_over16 1 // ППЗУ>2K? ( 1 для 24с64, 0 для 24с16)
//...
#ifdef needEEPROM
#include <Wire.h>
#else
#include <EEPROM.h>
#endif
В программе обращения настроены на две функции работы с ППЗУ
Код:
void writeEEPROM(unsigned int eeaddress, byte data )
{
#ifdef needEEPROM
Wire.beginTransmission(disk1);
#ifdef sizeROM_over16
Wire.write((int)(eeaddress >> 8)); // MSB
Wire.write((int)(eeaddress & 0xFF)); // LSB
#else
Wire.write((int)(eeaddress));
#endif
Wire.write(data);
Wire.endTransmission();
//delay(15);
#else
EEPROM.write((int)eeaddress,(byte)data);
#endif
}
byte readEEPROM(unsigned int eeaddress )
{
byte rdata = 0xFF;
#ifdef needEEPROM
Wire.beginTransmission(disk1);
#ifdef sizeROM_over16
Wire.write((int)(eeaddress >> 8)); // MSB
Wire.write((int)(eeaddress & 0xFF)); // LSB
#else
Wire.write((int)(eeaddress));
#endif
Wire.endTransmission();
Wire.requestFrom(disk1, 1);
// if (Wire.read()) rdata = Wire.read();
rdata = Wire.read();
#else
rdata = EEPROM.read( (int)(eeaddress) );
#endif
return rdata;
}
В заголовке раскомментируем нужные строки, и пользуемся. Так можно настроить на разные микросхемы ППЗУ и вообще пользоваться внутренней ПЗУ атМеги.