ESP32学习笔记12--NVS
15.NVS
15.1概述
- 非易失性存储 (NVS) 库主要用于在 flash 中存储键值格式的数据
- NVS 最适合存储一些较小的数据,而非字符串或二进制大对象 (BLOB) 等较大的数据
- 字符串值当前上限为 4000 字节,其中包括空终止符。BLOB 值上限为 508,000 字节或分区大小的 97.6% 减去 4000 字节,以较低值为准
- 为了减少不同组件之间键名的潜在冲突,NVS 将每个键值对分配给一个命名空间
- 单个 NVS 分区最多只能容纳 254 个不同的命名空间
- 不同 NVS 分区中具有相同名称的命名空间将被视为不同的命名空间。
迭代器
- 迭代器允许根据指定的分区名称、命名空间和数据类型轮询 NVS 中存储的键值对
nvs_entry_find
:创建一个不透明句柄,用于后续调用nvs_entry_next
和nvs_entry_info
函数;nvs_entry_next
:让迭代器指向下一个键值对;nvs_entry_info
:返回每个键值对的信息- 所有通过 nvs_entry_find() 获得的迭代器(包括 NULL 迭代器)都必须使用 nvs_release_iterator() 释放
15.2 nvs 相关的结构和函数
15.2.1nvs打开模式
```c
typedef enum {N