Проблема с переменной в циклу
- Войдите на сайт для отправки комментариев
Чт, 20/12/2018 - 13:34
Добрый день, делаю проверку на ввод пина:
if(enterPass) /////////////////// Ввод Пин ////////////
{
lcd.setCursor(0,0);
lcd.print("Попыток: ");
lcd.setCursor(10,0);
lcd.print(tryCount);
if(flagPass){lcd.setCursor(6,1);lcd.print("****");flagPass=false;}
if(isDigit(key)&&defPinCount<4)
{
Pin[defPinCount]=key;
lcd.setCursor(6+defPinCount,1);
lcd.print(key);
if(defPinCount==3)
{
delay(1000);
lcd.clear();
lcd.setCursor(2,0);
lcd.print("Проверка...");
delay(1000);
enterPass=false;
tryCount--;
startCheck=true;
CheckingDefPass();
}
defPinCount++;
}
}
Дальше, вызывается проверка пин кода
void CheckingDefPass()
{
if (startCheck)
{
if(memcmp(Pin, PinDefault, sizeof(PinDefault))==0)
{
Serial.println("Equal");
}
else
{
Serial.println("No Equal");
delay(200);
lcd.clear();
defPinCount=0;
enterPass=true;
flagPass=true;
startCheck=false;
}
}
}
Проблема с переменной defPinCount.
При первой попытке всё идет как надо. в начале переменная равна 0. После запуска функции проверки, при завершении она становиться равной 1. помогите понять, где я косячу.
чеснасказать, везде.
29: defpincount ++
чеснасказать, везде.
Понимаю, код лапша, если не трудни ткните
пробовал переносить, не помогло
чеснасказать, везде.
Понимаю, код лапша, если не трудни ткните
Очень трудно! Практически невозможно. Ваш первый косяк - Вы выложили огрызок кода в котором нни одна переменная не описана и не проинициализирована, ни одна функция не определена. И что по нему можно сказать? Ничего! От слова "совсем".
чеснасказать, везде.
Понимаю, код лапша, если не трудни ткните
Очень трудно! Практически невозможно. Ваш первый косяк - Вы выложили огрызок кода в котором нни одна переменная не описана и не проинициализирована, ни одна функция не определена. И что по нему можно сказать? Ничего! От слова "совсем".
int defPinCount = 0; в самом начале.
я выложил весь отрезок, где задействована эта переменная. Больше нигде она не используется. Также я выложил функцию CheckingDefPass(), которая обнуляет эту переменную.
Ну, и прекрасно. Теперь ждите, может кто-нибудь и захочет в этом разобраться (по неопытности).
А если реально будет нужна помощь, то делается это так.
1. Подготавливаете минимальный скетч в котором чётко видна проблема (минимальный по размреру, желающих ковырять тысячистрок найдётся немного)
2. Это минимальный скетч выкладываете целиком, чтобы человек мог запустить его у себя и увидетьпроблему у себя.
Вот тогда вероятность, что Вам помогут увеличивается в разы. А так ...
Ну, и прекрасно. Теперь ждите, может кто-нибудь и захочет в этом разобраться (по неопытности).
А если реально будет нужна помощь, то делается это так.
1. Подготавливаете минимальный скетч в котором чётко видна проблема (минимальный по размреру, желающих ковырять тысячистрок найдётся немного)
2. Это минимальный скетч выкладываете целиком, чтобы человек мог запустить его у себя и увидетьпроблему у себя.
Вот тогда вероятность, что Вам помогут увеличивается в разы. А так ...
Спасибо за совет