typedef struct
{
uint8_t key;
uint8_t FN;
uint32_t time;
uint32_t maintime;
/* data */
} key_type;
esp_err_t err;
//存入
err=nvs_open("music_NAME", NVS_READWRITE, &music_handle);
if(err!=ESP_OK)
{
printf("文件打开失败\n");
}
err=nvs_set_blob(music_handle, "music_NAME",music, music_len*sizeof(music));
if(err!=ESP_OK)
{
printf("数据存入失败\n");
musiclen=music_len-1;
}else{
musiclen=0;
}
nvs_commit(music_handle);
nvs_close(music_handle);
//读取
err=nvs_open("music_NAME", NVS_READWRITE, &music_handle);
if(err!=ESP_OK)
{
printf("文件打开失败\n");
}
size_t read_len=0;
key_type music_read[music_len];
err= nvs_get_blob(music_handle, "music_NAME",NULL ,&read_len);
if(err==ESP_OK)
{
printf("LEN:%d\n",read_len);
}
err= nvs_get_blob(music_handle, "music_NAME",music_read ,&read_len);
if (err!=ESP_OK)
{
printf("数据读取失败\n");
}
for(int ci=0;ci<(read_len/sizeof(music_read));ci++)
{
printf("key:%02x,FN:%02x,maintime:%d,time:%d\n",music_read[ci].key,music_read[ci].FN,music_read[ci].maintime,music_read[ci].time);
}
nvs_close(music_handle);
使用这2个函数
nvs_set_blob ()存入
nvs_get_blob()取出