Делаю некоторые эксперименты с кодом...
void loop(){
int i,n,sum;
char customKey = customKeypad.getKey();
switch (customKey) {
case '1':n = 1;
Serial.println(n);
sum = n*10 + n;
Serial.println(sum);
break;
}
switch (customKey) {
case '2':n = 2;
Serial.println(n);
sum = sum*10 + n;
Serial.println(sum);
break;
}
}
Описание, по customKey идёт считывание кнопки с матричной клавиатуры. И в зависимости от нажатой кнопки получить результат... Что получается в итоге : при нажатии кнопки "1" результат "1", "11 " ... при "2" результат "2", "112" ... То есть, значение "sum" для второй кнопки берётся из первого "case" ? Но ведь она даже не нажималась ... Что происходит ?
Не понятно почему так работает...
Re: Не понятно почему так работает...
Здравствуйте!
У вас значение sum во втором блоке зависит от предыдущего состояния sum = sum*10 + n;.
Также непонятно, зачем вам отдельные конструкции switch. Используйте тогда if.
У вас значение sum во втором блоке зависит от предыдущего состояния sum = sum*10 + n;.
Также непонятно, зачем вам отдельные конструкции switch. Используйте тогда if.
Re: Не понятно почему так работает...
Переделал немного код. Ожидалось , что при нажатии кнопки "2" в порт выведется следующая инфо :
2
22
222
2222
Но, получается только :
2
22
..........
int i,n,sum;
char customKey = customKeypad.getKey();
switch (customKey) {
case '1':n = 1;
Serial.println(n);
sum = n*10 + n;
Serial.println(sum);
break;
case '2':n = 2;
Serial.println(n);
for (int i=3; i!=0;i--); {
sum = n*10 + n;
Serial.println(sum);}
break;
}
}
2
22
222
2222
Но, получается только :
2
22
..........
int i,n,sum;
char customKey = customKeypad.getKey();
switch (customKey) {
case '1':n = 1;
Serial.println(n);
sum = n*10 + n;
Serial.println(sum);
break;
case '2':n = 2;
Serial.println(n);
for (int i=3; i!=0;i--); {
sum = n*10 + n;
Serial.println(sum);}
break;
}
}
Re: Не понятно почему так работает...
Упс... напортачил с синтаксисом... исправил , начало работать.
Вернуться в «Программирование Ардуино»
Кто сейчас на конференции
Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей