#include <util/delay_basic.h>
Функции в этом header файле осуществляют простые циклы задержки, которые исполняют активное ожидание. Они обычно используются, чтобы облегчить короткие задержки выполнения программы. Они осуществлены как циклы счета в обратном направлении с известным счетом цикла центрального процессора в итерацию цикла. Никакая другая обработка не может происходить одновременно, не считая прерываний.
Для длинных задержек, использование аппаратных таймеров более правильно, так как они освобождают центральный процессор, и возможна параллельная обработка других событий. Напротив, для очень коротких задержек, один такт аппаратного таймера может оказаться слишком велик по сравнению с требуемым временем задержки.
Функции |
|
void |
_delay_loop_1 (uint8_t
__count) |
void |
_delay_loop_2 (uint16_t
__count) |
( |
__count |
) |
|
Задержка, пока счет, начиная с 0, не достигнет восьмиразрядного значения count.
При тактовой частоте CPU 1 MHz, могут быть достигнуты задержки до 768 микросекунд.
Пример
использования: _delау_lоор_1
(1000) ;
( |
__count |
) |
|
Задержка, пока счет, начиная с 0, не достигнет 16-ти-разрядного значения count. Таким образом, при тактовой частоте CPU 1 МГЦ, могут быть достигнуты задержки приблизительно до 262.1 миллисекунд.
Пример использования: _delay_loop_2 (100000) ;