谷动谷力

 找回密码
 立即注册

扫一扫,访问微社区

谷动谷力 首页 编程 查看内容

ESP32的NVS使用指南

2021-6-19 11:24| 发布者: admin| 查看: 1| 评论: 0|原作者: 鸣涧_GC96O

摘要: ESP32的NVS使用指南   NVS总的来说,就是非易失性存储,类似MCU EEPROM,但实际上调用ESP32这些函数,数据是存储在FLASH中的。它的管理方式类似数据库的表,在NVS里面可以存储很多个不同的表,每个表下面有不同的 ...
ESP32的NVS使用指南
  NVS总的来说,就是非易失性存储,类似MCU EEPROM,但实际上调用ESP32这些函数,数据是存储在FLASH中的。
它的管理方式类似数据库的表,在NVS里面可以存储很多个不同的表,每个表下面有不同的键值,每个键值可以存储8位,
16位,32位等等不同的数据类型,但不能是浮点数。
NVS相关API使用方法如下:
(1)初始化
         调用“nvs_flash_init();”,如果失败可调用“nvs_flash_erase()”擦除NVS,然后再次初始化。
nvs_flash_init()找不到源码,可以查看api说明https://docs.espressif.com/proje ... v414nvs_flash_initv
nvs_flash_erase()找不到源码,可以查看api说明https://docs.espressif.com/proje ... 415nvs_flash_erasev
(2)打开一个表

    nvs_open("List", NVS_READWRITE, &my_handle);
        这个API第一个形参为一个字符串,可称为表名。第二个是读写模式,可选读写或者只读,第三个是当前打开的表的句柄。
        如此声明:“nvs_handle my_handle;   ”。后面对表里面的键值进行读写,都需要输入键值所在表的句柄。

(3)读写
         读:
    vs_get_i8(my_handle, "nvs_i8", &nvs_i8);
         读写不同的数据类型需要调用不同的API,类似的API有:“nvs_get_i16”,“nvs_get_u32”等等
         形参方面,第一个是表的句柄,第二个是键值,第三个则是对应的变量的指针,如“nvs_i8”是个“int8_t”类型的变量。

         写:
   nvs_set_i8(my_handle, "nvs_i8", nvs_i8);
         基本跟读差不多,注意的是第三个形参变成了对应的变量,而不是变量的指针。

(4)提交与关闭
          提交:
    nvs_commit(my_handle);
          关闭:
    nvs_close(my_handle);





鲜花

握手

雷人

路过

鸡蛋

最新评论

QQ|Archiver|手机版|小黑屋|深圳市光明谷科技有限公司|Sunshine Silicon Corpporation ( 粤ICP备14060730号

GMT+8, 2021-6-19 11:24 , Processed in 0.132019 second(s), 24 queries .

Powered by Discuz! X3.2 Licensed

© 2001-2013 Comsenz Inc.

返回顶部