zoukankan      html  css  js  c++  java
  • ESP32的NVS使用指南

      NVS总的来说,就是非易失性存储,类似MCU EEPROM,但实际上调用ESP32这些函数,数据是存储在FLASH中的。

    它的管理方式类似数据库的表,在NVS里面可以存储很多个不同的表,每个表下面有不同的键值,每个键值可以存储8位,

    16位,32位等等不同的数据类型,但不能是浮点数。

    NVS相关API使用方法如下:

    (1)初始化

             调用“nvs_flash_init();”,如果失败可调用“nvs_flash_erase()”擦除NVS,然后再次初始化。

    (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);

  • 相关阅读:
    PHP浮点数引起的四舍五入问题
    几项有用的JQUERY代码
    php5.5新特性之yield理解
    【转】循环、迭代、遍历和递归
    phpexcel导入excel文件报the filename xxx is not recognised as an OLE file错误。
    php缩放gif和png格式透明背景变成黑色的解决方法
    javascript统计输入文本的简易方法
    分享几个实用的jquery工具函数
    thinkphp中ajax技术
    正斜杠与反斜杠
  • 原文地址:https://www.cnblogs.com/dylancao/p/11935725.html
Copyright © 2011-2022 走看看