expression: nvs_flash_init()
49 2025-04-23 11:19
通用处理流程
在实际应用中,可以使用以下通用流程来处理
nvs_flash_init()
的失败情况:c
复制
esp_err_t ret = nvs_flash_init();
if (ret == ESP_ERR_NVS_NO_FREE_PAGES || ret == ESP_ERR_NVS_NEW_VERSION_FOUND) {
// 如果没有空闲页面或版本不匹配,擦除 NVS 分区
ESP_ERROR_CHECK(nvs_flash_erase());
// 再次初始化 NVS
ret = nvs_flash_init();
}
ESP_ERROR_CHECK(ret); // 确保初始化成功
通过这种方式,可以有效处理常见的初始化失败情况,确保 NVS 的正常工作。
全部评论