在WIFI初始化时,使用了nvs初始化:
```c
// Initialize NVS
esp_err_t ret = nvs_flash_init();
if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
ESP_ERROR_CHECK(nvs_flash_erase());
ret = nvs_flash_init();
}
ESP_ERROR_CHECK(ret);
```
但是有很多场景都会使用nvs,如果我仅仅在别处初始化一次,或者仅仅封装这个代码调用,就会报错。
请问是什么原因。
这里我把我简单封装贴在下面:
```c
// 下面的代码专门在一个文件中封装
void nvsInit(void) {
// Initialize NVS
esp_err_t ret = nvs_flash_init();
if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
ESP_ERROR_CHECK(nvs_flash_erase());
ret = nvs_flash_init();
}
ESP_ERROR_CHECK(ret);
}
// 下面的代码由wifi-demo的app_main调用
nvsInit();
ESP_LOGI(TAG, "ESP_WIFI_MODE_STA");
wifi_init_sta();
```
我这样的封装就会报错,原因是什么?
请问NVS的初始化问题
-
- Posts: 37
- Joined: Fri Dec 24, 2021 12:40 pm
Re: 请问NVS的初始化问题
自问自答一下,nvs修改一次就够了,这个绝对是个人的问题
Who is online
Users browsing this forum: Google [Bot] and 75 guests