Бесконечный цикл вне функции loop ()

Это псевдокод моего эскиза Arduino для NodeMCU. У него есть обработчик, который постоянно обновляет светодиодную ленту.

void setup() {

}

void loop() {

}

bool handler() {
//intended infinite loop
}

Проблема в том, что бесконечный цикл блокирует основной loop(), Есть ли способ, которым я могу выполнить бесконечный цикл, не блокируя основной loop() функция.

Мне жаль, что мой вопрос неопределенный, я только начинающий в программировании Arduino.

0

Решение

У вас должен быть только один «бесконечный» цикл в эскизе, и он уже создан для вас, это loop(), Любой другой цикл — или любой вызов функции, если на то пошло — который вы создаете должен есть способ выйти и вернуться к loop()желательно быстро. Вы можете выйти с break или любой другой механизм, который возвращает контроль loop(), Но вы должны вернуться …

2

Другие решения

не блокируйте основной цикл, вместо этого позвольте циклу вызывать обработчик каждый раз, когда вызывается функция …

void setup()
{
//setup required parameters/handlers
}

void loop()
{
// a piece of code that calls the handler
if(handler())
{
// TODDY
}
}

bool handler()
{
//intended infinite loop
}
1

По вопросам рекламы [email protected]