Описание функции millis
Функция millis()
возвращает количество миллисекунд с момента начала выполнения текущей программы на плате Arduino. Это количество сбрасывается на ноль вследствие переполнения значения приблизительно через 50 дней.
Синтаксис
unsigned long millis()
Параметры
Нет
Что возвращает
Количество миллисекунд с момента начала выполнения программы.
Пример использования функции millis
Через заданное количество времени (500 мс) будем зажигать или гасить светодиод:
bool state = false; // Перемемнная, которая хранит состояние светодиода unsigned long time; // Переменная, которая хранит последнее значение функции millis int interval = 500; // Заданный интервал времени, после которого будет происходить смена состояния светодиода void setup() { pinMode(LED_BUILTIN, OUTPUT); // Настроить 13 контакт на выход time = millis(); // Записываем текущее значение } void loop() { // Если прошло больше времени чем заданный интервал if(millis() - time > interval) { state = !state; // Изменяем состояние светодиода на противоположное time = millis(); // Записываем новое значение в переменную time } digitalWrite(LED_BUILTIN, state); // Устанавливаем состояние выхода }
Код функции millis
(hardware/arduino/avr/cores/arduino/wiring.c 1.8.10)
unsigned long millis() { unsigned long m; uint8_t oldSREG = SREG; cli(); m = timer0_millis; SREG = oldSREG; return m; }