Функция millis()

arduino-logo

Описание функции 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;
}

Загрузки

Где купить

0 0 голоса
Рейтинг статьи
Подписаться
Уведомить о
guest
0 комментариев
Межтекстовые Отзывы
Посмотреть все комментарии