ESP32的NVS使用指南

  NVS總的來講,就是非易失性存儲,相似MCU EEPROM,但實際上調用ESP32這些函數,數據是存儲在FLASH中的。數據庫

它的管理方式相似數據庫的表,在NVS裏面能夠存儲不少個不一樣的表,每一個表下面有不一樣的鍵值,每一個鍵值能夠存儲8位,函數

16位,32位等等不一樣的數據類型,但不能是浮點數。指針

NVS相關API使用方法以下:字符串

(1)初始化get

         調用「nvs_flash_init();」,若是失敗可調用「nvs_flash_erase()」擦除NVS,而後再次初始化。flash

 

(2)打開一個表it

       

    nvs_open("List", NVS_READWRITE, &my_handle);
        這個API第一個形參爲一個字符串,可稱爲表名。第二個是讀寫模式,可選讀寫或者只讀,第三個是當前打開的表的句柄。變量

        如此聲明:「nvs_handle my_handle;   」。後面對錶裏面的鍵值進行讀寫,都須要輸入鍵值所在表的句柄。List

 

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

相關文章
相關標籤/搜索