случайный программный сброс wdt при запросе
Я делаю почтовые запросы с помощью esp8266 на nodeMCU. у меня беспорядочный код, поэтому я не хочу раздражать вас, показывая его здесь. проблема в том, что я время от времени получаю программный сброс wdt при выполнении запроса. например, я меняю часть кода (удаляю или добавляю несколько строк serial.println
) и вижу, что получаю программный сброс wdt прямо здесь, в http.post
.
я изо всех сил старался избегать строк. Я использовал только несколько раз, без в петле. Я использую WiFiClientSecureBearSSL только с FirebaseESP8266.
есть ли у вас какие-либо идеи, в чем причина этой проблемы?
@alphaceph, 👍1
Обсуждение1 ответ
Покажите примеры ошибок — и установите декодер ESPexeption для анализа трассировки стека, это как минимум покажет, почему был вызван wdt
Так что единственное, что я могу порекомендовать на данный момент
Возникла проблема с bearssl:
Это ошибка WDT, вызванная расширенным согласованием SSL.
- Измените частоту ядра на 160 МГц (если это еще не сделано) и повторите попытку.
- Используйте в своей программе вместо LWIP1.4 (потребление памяти) LWIP2.0 с низким объемом памяти.
- Поскольку согласование SSL может занять 5 секунд даже при частоте 160 МГц для некоторых веб-сайтов, обязательно добавьте yield(), чтобы не вызвать сброс wdt.
Поэтому без кода/трассировки и сообщений об ошибках сложно догадаться
- HTTP GET запрос с использованием Arduino Uno и ESP8266
- Как составить URL-адрес HTTP-запроса GET с параметрами ключ/значение
- ESP8266 Ошибка неверного запроса 400
- ESP8266 отправляет веб-страницу клиенту, но html-коды отображаются в браузере вместо веб-страницы
- Проанализировать большой ответ json с помощью ESP8266
- ESP8266 не отвечает через случайные промежутки времени
- Код запроса ESP8266 GET -1
- esp32 http client response только 200 не получил данные после этого
Как вы питаете плату?, @Majenko
с USB. я не использую без кабеля, но я все еще имею дело с этими сбросами., @alphaceph
Подключен ли ваш компьютер напрямую? Не через обесточенный концентратор?, @Majenko
Подключается напрямую к usb порту. Почему с ним что-то не так?, @alphaceph
Нет. Как раз наоборот. Я видел тайм-ауты WDT, когда плата была недостаточно запитана, но здесь это не так., @Majenko
ага. моя проблема здесь больше похожа на случайность. я получаю сброс wdt по разным запросам. я думал, может быть, стек или куча достигают друг друга, но это не связано с программным сбросом wdt, не так ли?, @alphaceph
Именно случайность заставила меня задуматься о силе. Но это маловероятно. Тайм-аут сторожевого таймера может быть вызван чем угодно, кроме того, что выполнение может пойти не так., @Majenko
Может ли использование строк несколько раз вызвать фрагментацию памяти? Размер этих строк меньше 100 символов., @alphaceph