Переменная добавляется сама собой
- Войдите на сайт для отправки комментариев
Сб, 19/11/2016 - 12:19
Вот отрывок кода:
void UstanovkaVremeni1(){ lcd.createChar(1, bukva_D); lcd.createChar(0, bukva_I); lcd.createChar(2, bukva_Ya); lcd.createChar(3, UV); //lcd.createChar(3, UV); //lcd.setCursor(8,2); //lcd.write(3); lcd.setCursor(3,0); lcd.print("BBE");lcd.write(1);lcd.write(0);lcd.print("TE BPEM");lcd.write(2);lcd.print(":"); lcd.setCursor(10,2);lcd.print(":"); lcd.setCursor(7,2);lcd.write(3); lcd.setCursor(8,2);lcd.print(time1); lcd.setCursor(11,2);lcd.print(time2); if ( irrecv.decode( &results )) { // если данные пришли Serial.println( results.value ); // печатаем данные } switch (results.value) { case EQ: lcd.clear(); irrecv.resume(); break; break; case VolPlus: ++time1; lcd.setCursor(8,2); lcd.print(time1); VRY = 0; //delay(1000); Serial.available(); irrecv.resume(); // UstanovkaVremeni1(); break; case VolMinus: --time1; lcd.setCursor(8,2); lcd.print(time1); VRY = 0; irrecv.resume(); //delay(1000); UstanovkaVremeni1(); break; default: irrecv.resume(); VRY++; if (VRY == 10) { VRY = 0; lcd.clear(); break; } delay(1000); UstanovkaVremeni1(); } irrecv.resume(); //delay(1000); //UstanovkaVremeni1(); }
По идее при нажатии на пульте "+" переменная time1 должна добавить единицу и ждать опять нажатия на пульт, но она не останавливатся и добавлятся постоянно. Не пойму почему? Может что-то вы (уважаемые форумчане) подскажите? Спасибо.
В строке 40 рекурсивный вызов. В других местах тоже рекурсивный вызов.
По идее при нажатии на пульте "+" переменная time1 должна добавить единицу и ждать опять нажатия на пульт
Не-а.
По идее, после нажатия любой кнопки на пульте, кнопка должна начать обрабатываться, а потом обрабатываться постоянно с частотой вызова loop() до тех пор, пока не будет нажата другая кнопка. Тогда другая начнёт также постоянно обрабатываться с частотой вызова loop().
По крайней мере, программа написана именно так.
Возможно, Вы хотели поставить } не в 21-ой строке, а в 68-ой? Но поставили почему-то именно в 21-ой :(
Я уж молчу про многократные вызовы resume и про рекурсию.