Преимущества функций millis() и micros() при разработке встраиваемых систем:
- Millis() позволяет создавать задержки, планировать события или измерять время. 5 Функция подходит для больших интервалов времени в диапазоне миллисекунд. 2
- Micros() используется для измерения времени с более высокой точностью, чем millis(). 5 Функция подходит для требований к времени с разрешением меньше миллисекунды. 2
Некоторые недостатки функций millis() и micros():
- Переполнение переменной micros(). 4 Значение, которое возвращает micros(), сбрасывается до нуля и продолжает увеличиваться, пока не достигнет максимального значения. 4 Это происходит быстрее, чем с переменной millis() (около 71 минуты против 49 дней). 4
- Неработа функций внутри прерываний. 4 Если использовать interrupt-функцию и ждать определённое время, сравнивая два разных времени, то это не сработает. 4
- Проблемы с точностью micros(). 2 Функция возвращает значение с разрешением 4 микросекунды (при частоте работы Arduino 16 МГц). 2 Если целевой микроконтроллер работает на частоте 8 МГц, то точность ещё ниже. 2