想用nvs存储一些字符串类型的配置参数,看了下文档就简单写了代码运行,结果一些key读不出value,仅一个key可以。nvs_get_str报错ESP_ERR_NVS_INVALID_LENGTH。以错误代码搜索,找到相关解释。
nvs_get_str (nvs_handle_t handle, const char* key, char* out_value, size_t* length)中length参数是一个双向参数,传入out_value的大小,传出读取的value的长度。报错是因为该值定义时初始化为0,非out_value的大小。在使用nvs_get_str函数时首先对length赋值为out_value的长度,成功获取到结果。