目录
ESP32_学习笔记(一)NVS的操作
前言
ESP32在RTOS3.0的环境下,拥有很多已经开发好的功能和组件供我们使用。NVS就是其中的一个。这么奇怪的名字其实就是我们原来的读写函数的抽象化,将原来的直接在地址上读写改为现在的通过系统来管理底层的存储,我们只需要像文件一样的写入和读出就行了,
函数介绍
创建句柄:
首先创建句柄用来操作。
nvs_handle_t nvs_handle;
定义存储空间:
存储空间是一个名字,用字符串表示:
#define STORAGE_NAMESPACE "storage"
打开函数:
esp_err_t nvs_open(const char* name, nvs_open_mode_t open_mode, nvs_handle_t *out_handle);
我们要实现NVS的存储,我们首先就需要打开一个存储空间。以上这个函数就是用来打开的函数。
存储函数:
下面的都是用来存储数据的函数:
esp_err_t nvs_set_i8 (nvs_handle_t handle, const char* key, int8_t value);
esp_err_t nvs_set_u8 (nvs_handle_t handle, const char* key, uint8_t value);
esp_err_t nvs_set_i16 (nvs_handle_t handle, const char* key, int16_t value);
esp_err_t nvs_set_u16 (nvs_handle_t handle, const char* key, uint16_t value);
esp_err_t nvs_set_i32 (nvs_handle_t handle, const char* key, int32_t value);
esp_err_t nvs_set_u32 (nvs_handle_t handle, const char* key, uint32_t value);
esp_err_t nvs_set_i64 (nvs_handle_t handle, const char* key, int64_t value);
esp_err_t nvs_set_u64 (nvs_handle_t handle, const char* key, uint64_t value);
esp_err_t nvs_set_str (nvs_handle_t handle, const char* key, const char* value);
//用来存储大二进制数据的函数(比如说结构体)
esp_err_t nvs_set_blob(nvs_handle_t handle, const char* key, const void* value, size_t length