Функция while
l oop в автомате c не нужна. Вы уже бесконечно зацикливаетесь на loop()
, так что этого должно быть достаточно. Добавление другого l oop, даже если на первый взгляд может показаться, что оно сломается, оказывается бесконечным l oop. Я вернусь к этому через секунду.
Так что все, что вам нужно сделать, это избавиться от while
l oop, и оно должно работать. Однако это работает только в том случае, если вы гарантированно получите значение incoming
для каждого раза в l oop, как это выглядит в вашем коде.
Другая проблема, которую я вижу здесь, заключается в том, что если вы введите скажем manual()
, на самом деле нет ничего, что изменяет значение incoming
, вы обязательно должны иметь 51
, так как вы повторно используете предыдущее значение, и ничего, никакой желаемый путь к коду не будет запущен. То же самое относится и к automatic()
, надеюсь, вы сможете увидеть, как из-за этого l oop становится бесконечным.
Так что вам также нужно кое-что в следующих строках.
void manual()
{
if (!ESP_BT.available())
return;
incoming = ESP_BT.read();
if (incoming == 49)
{
digitalWrite(yellow_led, HIGH);
ESP_BT.println("LED turned ON");
}
else if(incoming == 48)
{
digitalWrite(yellow_led, LOW);
ESP_BT.println("LED turned OFF");
}
}
И, наконец, need help lol, please and thank you
может быть недостаточно описательным, чтобы кто-нибудь мог помочь с вашей проблемой, пожалуйста, с go через, как задать хороший вопрос для следующей публикации.