Как использовать цикл while в arduino для бесконечного цикла

Я выполняю код esp при переключении точки доступа для подключения esp, у меня возникают проблемы. Я использую эту строку кода:

while ((!esp.find("WIFI ")) || (!esp.find("+CWJAP:3")));

но это не работает. Кто-нибудь, пожалуйста, дайте мне альтернативу, как использовать этот тип зацикливания.

, 👍-2

Обсуждение

Что именно "не работает". Вы можете объяснить? В противном случае трудно, если не невозможно, помочь., @MichaelT


1 ответ


2

Метод find считывает символы до тех пор, пока искомая строка не будет найдена или пока не истечет интервал времени ожидания.

В вашем случае, если соединение не установлено, первый find не найдет «WIFI» и прочитает все входные данные, включая "+CWJAP:3", то по тайм-ауту возвращается false. Второй find дождется истечения времени ожидания, а затем вернет false.

,

так что я могу сделать, я должен ждать, пока WIFI или + CWJAP = 3 не появятся на последовательном мониторе, @Anuj goyal

прочитать строки, возвращенные прошивкой AT, в буфер и сравнить содержимое буфера с ожидаемыми строками. или используйте библиотеку WiFiEsp, которая обрабатывает AT-команды и ответы за вас., @Juraj