Почему настройки не могут putString() на одном ESP32 при работе с другими?
У меня есть несколько ESP32, которые запускают мою прошивку. Прошивка выполняет настройку Wi-Fi из моего приложения BLE, SSID и пароль сохраняются в настройках
с помощью двух putString()
следующим образом:
const size_t putSsidLength = preferences.putString("ssid", String(ssid));
if (putSsidLength == 0) {
Serial.println(" Preferences: Could not write SSID to nvs. No reboot");
return;
}
const size_t putPassphraseLength = preferences.putString("password", String(passphrase));
if (putPassphraseLength == 0) {
Serial.println(" Preferences: Could not write passphrase to nvs. No reboot");
return;
}
Во время загрузки прошивка извлекает учетные данные Wi-Fi, потенциально сохраненные во флэш-памяти, с помощью настроек
следующим образом:
ssid = preferences.getString("ssid", "");
password = preferences.getString("password", "");
Пока все идет хорошо, все работает хорошо.
Но по некоторым причинам у меня есть один ESP32, где putString()
не выполняет запись в nvs
.
Как это происходит?
Есть ли способ снова заставить nvs
работать?
Может ли что-то произойти в производстве через некоторое время?
0
Смотрите также:
- esp32, platformio A fatal error occurred: Packet content transfer stopped (received 8 bytes) *** [upload] Error 2
- Как выбрать альтернативные контакты I2C на ESP32?
- Драйверы для чипа последовательного порта CH9102X
- Как преобразовать форматированный оператор print в строковую переменную?
- ESP32 - "Детектор Браунаута был активирован" при запуске Wi-Fi
- Питание esp32cam от аккумулятора
- Контакты RX и TX на esp32
- ESP32: отключить детектор отключения питания
Вы можете попробовать использовать esptool.py для запуска операции erase_flash и стереть весь флэш-чип..., @Majenko