Проблема с переменной в циклу
- Войдите на сайт для отправки комментариев
Чт, 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. Это минимальный скетч выкладываете целиком, чтобы человек мог запустить его у себя и увидетьпроблему у себя.
Вот тогда вероятность, что Вам помогут увеличивается в разы. А так ...
Спасибо за совет