Проблема с кодом Ардуино (новичек)
- Войдите на сайт для отправки комментариев
Ср, 13/05/2020 - 20:10
Простите , что занял ваше время
int M; int A; void setup() { while(true){ Serial.begin(9600); Serial.println("NEAIZMIRST!!! 0 izslegs programmu, 1 iesledz programmu"); while (Serial.available()==0){ A = Serial.parseInt(); if(A==0){ false; Serial.println("Programma izslegta"); } else if(A==1){ Serial.println("Ievadiet jebkuru skaitlu no 1 lidz 12"); while (Serial.available()==0); { M = Serial.parseInt(); switch(M){ case 1: Serial.println(" 1. menesis ir Ziema "); break; case 2: Serial.println(" 2. menesis ir Ziema ");break; case 3: Serial.println(" 3. menesis ir Pavasaris ");break; case 4: Serial.println(" 4. menesis ir Pavasaris ");break; case 5: Serial.println(" 5. menesis ir Pavasaris ");break; case 6: Serial.println(" 6. menesis ir Vasara ");break; case 7: Serial.println(" 7. menesis ir Vasara ");break; case 8: Serial.println(" 8. meesis ir Vasara ");break; case 9: Serial.println(" 9. meesis ir Rudens ");break; case 10: Serial.println(" 10. meesis ir Rudens ");break; case 11: Serial.println(" 11. meesis ir Rudens ");break; case 12: Serial.println(" 12. meesis ir Ziema ");break; default: Serial.println(" Gada ir 12 meneši. Megini vel! ");break; } } } }}} void loop() {}
Почему-то все время срабатывает if , где A == 0 , пробовал в самом начале A дать другие значения , но все равно одно и тоже
Правильно, parseInt возвращает ноль в случае ошибки. И ошибка гарантирована, так перед этим стоит проверка на то, что в буфере нет данных.
А что в порт то передаётся ?
Поставил parseInt по выше , теперь надо разобраться , почему когда 0 вводишь все время пишет: Programma izslegta
А что Вы делаете в 12 строке? Так, из общего интереса.
Спасибо, нашел проблему, тема закрыта
Как говорится - Ничего не понял, но ооочень интересно!)))