首页 > 其他 > 详细

ESP32-NVS存储(非易失性存储库)

时间:2020-07-14 20:57:11      阅读:123      评论:0      收藏:0      [点我收藏+]

简介

  非易失性存储 (NVS) 库主要用于在 flash 中存储键值格式的数据

底层存储

  NVS 通过调用 spi_flash_{read|write|erase} API 对主 flash 的部分空间进行读、写、擦除操作,包括 data 类型和 nvs 子类型的所有分区。应用程序可调用 nvs_open API 选择使用带有 nvs 标签的分区,也可以通过调用 nvs_open_from_part API 选择使用指定名称的任意分区。

键值对

  NVS 的操作对象为键值对,其中键是 ASCII 字符串,当前支持最大键长为 15 个字符,值可以为以下几种类型:

    ? 整数型:uint8_tint8_tuint16_tint16_tuint32_tint32_tuint64_t 和 int64_t

    ? 以 \0 结尾的字符串; 

    ? 可变长度的二进制数据 (BLOB)

      *注:字符串值当前上限为 4000 字节,其中包括空终止符。BLOB 值上限为 508,000 字节或分区大小减去 4000 字节的 97.6%,以较低值为准。

  键必须唯一。为现有的键写入新的值可能产生如下结果:

    ? 如果新旧值数据类型相同,则更新值;

    ? 如果新旧值数据类型不同,则返回错误。

  读取值时也会执行数据类型检查。如果读取操作的数据类型与该值的数据类型不匹配,则返回错误。

ESP32-NVS存储(非易失性存储库)

原文:https://www.cnblogs.com/zy-cnblogs/p/13301330.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!