下面是一个示例代码,展示了如何将结构体数组存储到ESP32的EEPROM中。
#include
// 定义结构体
struct MyStruct {
int id;
float value;
};
// 定义结构体数组
MyStruct myArray[3] = {
{1, 1.1},
{2, 2.2},
{3, 3.3}
};
void setup() {
// 初始化EEPROM库
EEPROM.begin(sizeof(myArray));
// 将结构体数组写入EEPROM
EEPROM.put(0, myArray);
EEPROM.commit();
// 读取EEPROM中的数据
MyStruct readArray[3];
EEPROM.get(0, readArray);
// 打印读取的数据
for (int i = 0; i < 3; i++) {
Serial.print("ID: ");
Serial.print(readArray[i].id);
Serial.print(", Value: ");
Serial.println(readArray[i].value);
}
// 结束EEPROM库
EEPROM.end();
}
void loop() {
// 主循环代码
}
这个示例代码使用了EEPROM库来进行EEPROM的读写操作。首先,我们定义了一个结构体MyStruct
,它有两个成员变量id
和value
。然后,我们定义了一个结构体数组myArray
,包含了三个结构体对象。
在setup()
函数中,我们初始化了EEPROM库,并使用EEPROM.put()
将结构体数组写入EEPROM。然后,我们使用EEPROM.get()
从EEPROM中读取数据,将其存储到readArray
中。最后,我们使用循环打印了读取的数据。
请注意,在使用EEPROM库之前,我们需要调用EEPROM.begin()
来初始化EEPROM库,并在使用完毕后调用EEPROM.end()
来结束EEPROM库的使用。同时,我们还调用了EEPROM.commit()
来确保数据写入EEPROM。
希望这个示例能够帮助到你!