Переменная добавляется сама собой
- Войдите на сайт для отправки комментариев
Сб, 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 и про рекурсию.