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 的正常工作。

全部评论

·