В Arduino для ориентации во времени часто используются счетчики millis() и micros(). Однако нужно учитывать, что в определённый момент счетчики достигают своего предельного значения 4294967295 после чего переходят в ноль (счетчик переполняется). Если не правильно сформировать условие, то можно получить очень неприятный эффект, когда программа изредка будет неверно работать или вообще подвисать.
Например такой код будет неверен
code:if (millis() > timeold+INTERVAL) ;
правильно писать нужно только так
code:if (millis()-timeold > INTERVAL) ; |