if(milis) and for(i++)
- Войдите на сайт для отправки комментариев
Сб, 23/11/2019 - 22:48
unsigned long t; void setup() { Serial.begin(9600); } void loop() { if (millis() - t > 1000) for (int i = 1; i < 7; i++) { Serial.println(i); t = millis(); } }
Доброго времени суток. Столкнулся с такой проблемой, надо чтоб он выводил, числа до 7, с перерывом в одну секунду, но он выводит числа до 7, и начинает заново. Как решить ума не прилажу, подскажите пожалуйста, спасибо заранее.
процедура loop - это цикл, когда она доходит до конца - ее выполнение начинается сначала
Варианта решения проблемы две - вынести ваш код из loop например в setup (он выполняется один раз) или предусмотреть в программе переменную, которая запоминалы бы, что цикл for уже исполнен и второй раз его запускать не надо
надо чтоб он выводил, числа до 7, с перерывом в одну секунду
а потом что? Стоп - или повторить или что еще ?
Но в коде-то написано выводить все семь подряд без всякого интервала.
Значит нужен не цикл for, а просто по условиям временным выполнять: Serial.println(i); i++; t=millis();
Примерно так