I want to save some parameters
typedef struct
{
uint8_t device_id;
char ssid[32];
char pass[32];
int loc_port;
int remote_port;
uint8_t remote_ip[4];
uint8_t mac_addr[6];
uint8_t sens_type;
uint32_t interval;
}SYS_PARAMS;
SYS_PARAMS sys_parameters;
uint8_t sys_buffer[512];
void SYS_ParamRead()
{
int i;
for (i = 0; i < sizeof(SYS_PARAMS); i++)
{
sys_buffer[i] = EEPROM.read(i);
}
memcpy(&sys_parameters, &sys_buffer, sizeof(SYS_PARAMS));
}
void SYS_ParamWrite()
{
int i;
memcpy(sys_buffer, &sys_parameters, sizeof(SYS_PARAMS));
for (i = 0; i < sizeof(SYS_PARAMS); i++)
{
EEPROM.write(i, sys_buffer[i]);
}
EEPROM.commit();
}
So I set some parameters, say sys_parameters.device_id = 7; and then invoke SYS_ParamWrite().
On start up
SYS_ParamRead();
Serial.print("DEVICE ID ");
Serial.println(sys_parameters.device_id);
And I see "DEVICE ID 0". What do I miss?
P.S. It's ESP8266 chip.