ESP8266 EEPROM WRITE / READ PROBLEM
hi testing device eeprom library .
i trying save ssid string , read after reloading sketch.
step 1 : write , read in same sketch works ->
output :
but when upload sketch :
i empty output ):
any problem in code please ?
should use eeprom.begin when writing ?
when should use eeprom.end , when should use eeprom.commit (i know end includes commit ) ?
i trying save ssid string , read after reloading sketch.
step 1 : write , read in same sketch works ->
code: [select]
#define eprom_memory_size 512
int serveraccessssidaddressstart=1; int serveraccessssidaddressend=32;
void writestringeeprom(string s,int startadress,int endadress);
string readstringeeprom(int startadress,int endadress);
void setup() {
serial.begin(115200);
string server_router_ssid ="a111111111111111111111111111111a";
serial.println("start write");
eeprom.begin(eprom_memory_size);
writestringeeprom(server_router_ssid,serveraccessssidaddressstart,serveraccessssidaddressend);
eeprom.commit();
serial.println("write done");
serial.println("read");
//eeprom.begin(eprom_memory_size);
string res = readstringeeprom(serveraccessssidaddressstart,serveraccessssidaddressend);
serial.println(res);
}
string readstringeeprom(int startadress,int endadress){
string s;
for(int i=startadress; i<=endadress; i++){
char c = char(eeprom.read(i));
s+=c;
}
return s;
}
void writestringeeprom(string s,int startadress,int endadress)
{
int stringlength=s.length();
for(int i=startadress; i<=endadress; i++){
int indexstring=i-startadress;
if(indexstring<stringlength){
eeprom.write(i,s[indexstring]);
}else{
eeprom.write(i,' ');
}
}
}
loop(){}
output :
code: [select]
start write
write done
read
a111111111111111111111111111111a
but when upload sketch :
code: [select]
#define eprom_memory_size 512
int serveraccessssidaddressstart=1; int serveraccessssidaddressend=32;
void writestringeeprom(string s,int startadress,int endadress);
string readstringeeprom(int startadress,int endadress);
void setup() {
serial.begin(115200);
//string server_router_ssid ="a111111111111111111111111111111a";
//serial.println("start write");
//eeprom.begin(eprom_memory_size);
//writestringeeprom(server_router_ssid,serveraccessssidaddressstart,serveraccessssidaddressend);
//eeprom.commit();
//serial.println("write done");
serial.println("read");
eeprom.begin(eprom_memory_size);
string res = readstringeeprom(serveraccessssidaddressstart,serveraccessssidaddressend);
serial.println(res);
}
string readstringeeprom(int startadress,int endadress){
string s;
for(int i=startadress; i<=endadress; i++){
char c = char(eeprom.read(i));
s+=c;
}
return s;
}
void writestringeeprom(string s,int startadress,int endadress)
{
int stringlength=s.length();
for(int i=startadress; i<=endadress; i++){
int indexstring=i-startadress;
if(indexstring<stringlength){
eeprom.write(i,s[indexstring]);
}else{
eeprom.write(i,' ');
}
}
}
loop(){}
i empty output ):
code: [select]
read
any problem in code please ?
should use eeprom.begin when writing ?
when should use eeprom.end , when should use eeprom.commit (i know end includes commit ) ?
quote
any problem in code please ?one major problem getting here have not posted code.
Arduino Forum > Using Arduino > Programming Questions > ESP8266 EEPROM WRITE / READ PROBLEM
arduino
Comments
Post a Comment