Функция delay()

arduino-logo

Описание функции delay

Функция delay() позволяет остановить выполнение программы на определенное количество миллисекунд (в 1 секунде — 1 000 миллисекунд).

Синтаксис

void delay(unsigned long ms)

Параметры

  • ms — количество миллисекунд, на которое приостанавливается выполнение программы.

Что возвращает

Ничего

Пример использования функции delay

void setup() {
  Serial.begin(9600);
  Serial.println(millis()); // Выводим количество миллисекунд, прошедших после запуска МК
  delay(500);               // Приостанавливаем работу МК на 500 миллисекунд
  Serial.println(millis()); // Выводим количество миллисекунд, прошедших после запуска МК
}

void loop() {}

Для демонстрации работы функции delay в ардуино мы использовали простой скетч. В разделе setup() Инициализировали Serial-порт со скоростью 9600 бод. Затем вывели в порт количество миллисекунд, прошедших после включения микроконтроллера, функцией millis(). А далее приостановили работу на 500 миллисекунд функцией delay и снова вывели время работы МК после включения. Результат выполнения можно увидеть на рисунке ниже.

Функция delay() в arduino ide

Код функции delay

(hardware/arduino/avr/cores/arduino/wiring.c 1.8.10)

void delay(unsigned long ms)
{
        uint16_t start = (uint16_t)micros();

        while (ms > 0) {
                if (((uint16_t)micros() - start) >= 1000) {
                        ms--;
                        start += 1000;
                }
        }
}

Загрузки

Где купить

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