(01-09-2019, 06:16)kaczakat napisał(a): Case można zagnieżdżać, a by było bardziej czytelnie można wywołać funkcję, w której jest wywoływana funkcja, w której... itd., a w każdej może być case. Ifami można zrobić dokładnie to samo, case ma węższe zastosowanie.
Kod:
switch (control) {
case 1:
//CD
if (irrecv.decode(&results)) {
if (results.value == 0xC1A2FA05) {
digitalWrite(AUX, HIGH);
}
}
lcd.setCursor(2, 0);
lcd.print("AUDIO SYSTEM");
lcd.setCursor(0, 1);
lcd.print("SEL.INPUT: CD");
if (digitalRead(BUTTON) == LOW) {
digitalWrite(AUX, LOW);
digitalWrite(LAMP, LOW);
digitalWrite(CD, HIGH);
}
break;
Chodzi mi o taki fragment kodu:
Kod:
if (irrecv.decode(&results)) {
if (results.value == 0xC1A2FA05) {
digitalWrite(AUX, HIGH);
}
}
kiedy wstawię go do pętli void loop bezpośrednio to ten kod działa zuepłnie poprawnie. Natomiast kiedy jest w case tak jak wyżej to już nie działa. Proszę o pomoc