1Recviem1
@1Recviem1
Начинающий кодер

Проблема в языке arduino IDE. Команда Serial.println(); игнорирует условие, почему?

int a;
int b;
void setup() {
Serial.begin(9600);
}
void loop() {
a++;
if(a==1000){
a=0;
Serial.println(b);// выводит в порт не смотря на условие!
b++;
}
}
  • Вопрос задан
  • 193 просмотра
Пригласить эксперта
Ответы на вопрос 4
Посмотрите примечание.
С таким оформлением и формулировкой вопроса вас сложно отвечать.

А по существу. Что значит игнорирует? Что видите в мониторе порта?
Имейте ввиду, что а++ достигнет 1000 очень быстро, практичеки мгновенно
(домашнее задание вам, посчитайте или напишите код, проверить за какое время)
Поэтому, возможно, вы и воспринимаете как игнорирование условия

==== Вот под руками ESP
Условие а = 1000, выполняется каждые 200 микросекунд!
Ответ написан
Комментировать
@vanyamba-electronics
Вы забыли инициализировать переменную a, поэтому она принимает случайное значение при сбросе.
int a = 0;
Ответ написан
@Fenrir89
Если нужно подождать определённое время лучше использовать delay(ms)
Ответ написан
Комментировать
1Recviem1
@1Recviem1 Автор вопроса
Начинающий кодер
Перед тем как обратиться сюда, я попробовал почти все варианты, когда в условие добавляешь b++; что бы при выполнении а==1000 он прибавлял к b единицу при каждом выполнении условия, и вывести Serial.println(b); за условие, все работает. он выдает нули, после выполнения условия а==1000 он выдает единицы и.т.д. но только стоит занести Serial.println(b) в условие то все, капут! delay(); тоже не помогает.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы