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