====== Задержка ====== Данная часть библиотеки представляет функции для совершения программной и аппаратной задержки. При вызове функций задержки программа совершает их в предназначенное время и выполнение остальной части программы, не считая прерывания, останавливается. Функции задержки не компилированы заранее, так как тактовая частота микроконтроллера может различаться в различных приложениях. Они компилируются каждый раз заново. ===== Функции ===== * **//void sw_delay_ms(unsigned short count)//** \\ Программная задержка в миллисекундах. Применение функции предполагает использование оптимизации компилятором. Параметры: * //count// - Время задержки в миллисекундах. От 0 до 65535 миллисекунд. * **//void sw_delay_us(unsigned short count)//** \\ Программная задержка в микросекундах. Применение функции предполагает использование оптимизации компилятором. Параметры: * //count// - Время задержки в микросекундах. От 0 до 65535 микросекунды. * **//void hw_delay_ms(unsigned short count)//** \\ Аппаратная задержка в миллисекундах, основанная на таймере. Функция использует 8-битный таймер 0 микроконтроллера ATmega128. В зависимости от частоты такта может произойти ошибка в несколько миллисекунд. Более точную задержку можно сделать 16-битным таймером, но они обычно применяются в других целях. Параметры: * //count// - Время задержки в миллисекундах. От 0 до 65535 миллисекунд. ===== Пример ===== Пример применения обеих функций задержки: #include int main(void) { // Программная задержка 100 ms sw_delay_ms(100); // Аппаратная задержка 100 ms hw_delay_ms(100); }