Kaptain.
Telegram /
LinkedIn /
Email /
GIT /
RSS /
GPG /
Заказ печатных плат

№ 8349 В разделах:
Electronics
ESP8266
Programming
от July 8th, 2017,
В подшивках: EEPROM, ESP8266
Решил тряхнуть стариной со второй купленой отладочной платой с ESP8266 и что-нить запрогать. Под руку попалась ППЗУ от Atmel на целый 1 кБайт 🙂 Поскольку код особо писать не хотелось была найдена библиотечка. У автора возникла проблема с точно такой же микросхемой как у меня. После быстрого просмотра кода стало понятно, что используется 16 битная адресация, которая есть только на более объемных моделях типа 24LC256. Всего несколько строчек изменено и вот уже работает 8 битная адресация 🙂 В writeEEPROM и readEEPROM закомментировал 2 строки со смещением и засылом байтов и просто написал свою строку с 8 битным адресом.
void writeEEPROM(int deviceaddress, unsigned int eeaddress, byte data ) {
Wire.beginTransmission(deviceaddress);
//Wire.write((int)(eeaddress >> 8)); // MSB
//Wire.write((int)(eeaddress & 0xFF)); // LSB
Wire.write((int)(eeaddress)); //only for 8 bit addressing
Wire.write(data);
Wire.endTransmission();
delay(5);
}
byte readEEPROM(int deviceaddress, unsigned int eeaddress ) {
byte rdata = 0xFF;
Wire.beginTransmission(deviceaddress);
//Wire.write((int)(eeaddress >> 8)); // MSB
//Wire.write((int)(eeaddress & 0xFF)); // LSB
Wire.write((int)(eeaddress)); //only for 8 bit addressing
Wire.endTransmission();
Wire.requestFrom(deviceaddress,1);
if (Wire.available()) rdata = Wire.read();
return rdata;
}
void setup() {
EEPROMAddress = 0; // EEPROM word variable
EEPROMValue = 120; // EEPROM value
Serial.print("EEPROMAddress: "); Serial.print(EEPROMAddress);
Serial.print(", EEPROMValue: "); Serial.print(EEPROMValue);
Serial.print(", EEPROMBank: 0x"); Serial.println(EEPROMBank,HEX);
writeEEPROM(EEPROMBank, EEPROMAddress, byte(EEPROMValue));
for (EEPROMAddress = 0; EEPROMAddress < 3; EEPROMAddress++) {
Serial.print("EEPROMAddress: ");
Serial.print(EEPROMAddress);
Serial.print(", Value: ");
Serial.println(readEEPROM(EEPROMBank, EEPROMAddress), DEC);
}
}
Исходник https://git.blindage.org/21h/esp8266-eeprom
Fortune cookie: I'm having an EMOTIONAL OUTBURST!! But, uh, WHY is there a WAFFLE in my PAJAMA POCKET??
Leave a Reply