-
String 不能直接用于 EEPROM.put() 和 EEPROM.get() 的存取,但至少可以通过下列示例代码实现:
String str = "你好,hello !"; // 待储存到 EEPROM 的数据 // 定义一个 char[] 数组 charArray,用于储存转换后的 str 数据 // 这里的 60 是 str 预估长度,至少需要 不小于 str.length()+1; // 但是注意:直接用str.length()+1是不行的,会在 EEPROM.put(100, charArray); 这一行报错 char charArray[60]; strcpy(charArray, str.c_str()); EEPROM.put(100, charArray); EEPROM.commit(); // 读取上面储存的值: char str2[60]; // 可大于 60 EEPROM.get(100, str2); Serial.print("str2:");Serial.println(str2);
char*与char[]的存取需要对应,不能混淆
EEPROM.commit(); 与 EEPROM.end(); 都会提交待写入数据,但是 EEPROM.end();会结束 EEPROM, 再次使用需要重新EEPROM.begin(1024); 而EEPROM.commit(); 之后还可以继续
Esp8266、Esp32上Arduino中EEPROM的相关经验总结
最后编辑于 :
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。
推荐阅读更多精彩内容
- EEPROM(Electrically Erasable Programmable Read-Only Memor...
- 我用的 ESP32 DEVKIT V1引脚图原理图 【腾讯文档】ESP32引脚功能筛选器https://docs....
- Serial.print("发送主题");串口输出,一般是字符串 Serial.println(config.ke...