问题
在使用ESP32-CAM 进行EEPROM的存储时,发现一直无法存储EEPROM,电源没有断开的时候没有问题,一旦断开电源数据就丢失了
代码
代码很简单,这个put函数是一个模板函数,看源码也是没有什么问题的,不知道因为什么原因,这个使用自定义的struct时掉电就是无法存储
EEPROM.put(0, config)template<typename T>const T &put(int address, const T &t) {if (address < 0 || address + sizeof(T) > _size)return t;memcpy(_data + address, (const uint8_t*) &t, sizeof(T));_dirty = true;return t;}
根源
暂时没找到,网上也是不清不楚的
解决
更换函数 writeBytes 记得用完后要提交
EEPROM.writeBytes(0, (void *)&config, sizeof(config));
EEPROM.commit();
