Это псевдокод моего эскиза Arduino для NodeMCU. У него есть обработчик, который постоянно обновляет светодиодную ленту.
void setup() {
}
void loop() {
}
bool handler() {
//intended infinite loop
}
Проблема в том, что бесконечный цикл блокирует основной loop()
, Есть ли способ, которым я могу выполнить бесконечный цикл, не блокируя основной loop()
функция.
Мне жаль, что мой вопрос неопределенный, я только начинающий в программировании Arduino.
У вас должен быть только один «бесконечный» цикл в эскизе, и он уже создан для вас, это loop()
, Любой другой цикл — или любой вызов функции, если на то пошло — который вы создаете должен есть способ выйти и вернуться к loop()
желательно быстро. Вы можете выйти с break
или любой другой механизм, который возвращает контроль loop()
, Но вы должны вернуться …
не блокируйте основной цикл, вместо этого позвольте циклу вызывать обработчик каждый раз, когда вызывается функция …
void setup()
{
//setup required parameters/handlers
}
void loop()
{
// a piece of code that calls the handler
if(handler())
{
// TODDY
}
}
bool handler()
{
//intended infinite loop
}