Торжественно клянусь, что это - последний мой вопрос в этой теме. Но комментарии продолжу отслеживать (если они будут).
static uint32_t period13 = 500;
static uint32_t moment13;
int st;
int st2;
bool trigger;
void setup()
{
pinMode(13, OUTPUT);
digitalWrite(13, 0);
Serial.begin(9600);
}
void loop()
{
if (millis() - moment13 >= period13)
{
moment13 = moment13+period13;
trigger = !trigger;
digitalWrite(13, trigger);
if (trigger)
{
st2++;
Serial.println(st2);
st++;
}
}
if (st==10)
{
delay(3000);
st=0;
}
}
Итак. Каждые 10 секунд в строке 30 происходит задержка на 3 секунды. А затем идет нагон упущенного времени.
Точность работы millis() меня вполне устраивает.
У кого есть возможность - посмотрите вывод переменной st2 в мониторе.
Мне нужна именно такая работа.
Что не так в строке 18, если сам ЕвгенийП здесь благославил меня на это?
Там же в #14.
Все. Здесь вопросов больше не задаю!