Где ошибка?
- Войдите на сайт для отправки комментариев
Втр, 24/01/2012 - 19:21
Никак не могу найти причину ошибки. После ресета работает около минуты и потом не реагирует на кнопку 1, которая на 6м порту.
Никак не могу найти причину ошибки. После ресета работает около минуты и потом не реагирует на кнопку 1, которая на 6м порту.
void setup() { pinMode(6, INPUT); pinMode(8, INPUT); pinMode(13, OUTPUT); } void settingscreen() { int a=1; int timer = millis(); while(a==1) { digitalWrite(13, HIGH); // Если нажата правая кнопка if (digitalRead(8) == HIGH) { a=0; } // Если таймер истек if (millis() - timer > 5000) { a=0; } } digitalWrite(13, LOW); } void loop() { if (digitalRead(6) == HIGH) { settingscreen(); } }Код нелогичен..
1. что делать если 35 строка LOW?
2. когда работает void settingscreen() идет всегда digitalWrite(13, LOW); (29 строка)
и.. и.. и..
из while проще выходить по break. А проблема в типе переменной timer, поставьте long