完善资料让更多小伙伴认识你,还能领取20积分哦, 立即完善>
// Initialize NVS.
esp_err_t err = nvs_flash_init(); if (err == ESP_ERR_NVS_NO_FREE_PAGES || err == ESP_ERR_NVS_NEW_VERSION_FOUND) { ESP_ERROR_CHECK(nvs_flash_erase()); err = nvs_flash_init(); } 难道是因为这里吗???? |
|
相关推荐
2个回答
|
|
是的,nvs_flash_erase() 就是擦除的命令。
|
|
|
|
首先,我们需要了解一下NVS(Non-Volatile Storage)和ESP32/ESP8266这些设备。NVS是一种用于存储关键数据的非易失性存储系统,它在设备断电后仍然可以保留数据。ESP32和ESP8266是一系列基于ESP8266和ESP32系列SoC的低功耗Wi-Fi和蓝牙模块。
现在我们来分析这个问题。在您提供的代码片段中,我们可以看到以下步骤: 1. 初始化NVS:`esp_err_t err = nvs_flash_init();` 2. 检查错误:如果错误是`ESP_ERR_NVS_NO_FREE_PAGES`或`ESP_ERR_NVS_NEW_VERSION_FOUND`,则执行以下操作: a. 擦除NVS:`ESP_ERROR_CHECK(nvs_flash_erase());` b. 重新初始化NVS:`err = nvs_flash_init();` 从这段代码来看,断开WiFi与NVS被擦除和重新初始化之间没有直接关系。但是,我们需要考虑以下几点: 1. 如果您的设备在断开WiFi后遇到某种错误或异常,这可能会导致NVS初始化失败,从而触发上述错误检查和擦除操作。 2. 如果您的设备在断开WiFi后进行了某些操作,这些操作可能会影响到NVS的存储空间或版本,从而导致上述错误检查和擦除操作。 为了解决这个问题,您可以尝试以下步骤: 1. 确保在断开WiFi之前,设备没有遇到任何错误或异常。 2. 检查您的设备在断开WiFi后是否执行了任何可能影响NVS的操作,如果有,请尝试修改这些操作以避免影响NVS。 3. 如果问题仍然存在,您可以尝试在NVS初始化之前添加一些日志输出,以便更好地了解问题发生的原因。 总之,断开WiFi本身不应该导致NVS被擦除和重新初始化。问题可能出在设备在断开WiFi后遇到的错误或异常,或者执行了某些影响NVS的操作。通过仔细检查代码和添加日志输出,您应该能够找到问题的根源并解决它。 |
|
|
|
只有小组成员才能发言,加入小组>>
142 浏览 1 评论
550浏览 6评论
460浏览 5评论
有没有办法在不使用混杂模式的情况下实现Wifi驱动程序接收缓冲区访问中断呢?
442浏览 5评论
444浏览 4评论
415浏览 4评论
小黑屋| 手机版| Archiver| 电子发烧友 ( 湘ICP备2023018690号 )
GMT+8, 2024-11-22 23:53 , Processed in 0.845832 second(s), Total 80, Slave 63 queries .
Powered by 电子发烧友网
© 2015 bbs.elecfans.com
关注我们的微信
下载发烧友APP
电子发烧友观察
版权所有 © 湖南华秋数字科技有限公司
电子发烧友 (电路图) 湘公网安备 43011202000918 号 电信与信息服务业务经营许可证:合字B2-20210191 工商网监 湘ICP备2023018690号