|
1. Запускаешь таймер так, чтобы он давал прерывания с определенным периодом - скажем, 0.1 миллисекунды.
2. Делаешь обработчик прерывания таймера, который просто увеличивает переменную.
3. Пишешь функцию delay, которая копирует себе эту переменную, прибавляет к этой копии требуемое время задержки и ждет, когда переменная таймера сравняется с копией. Все.
В подавляющем большинстве случаев можно вообще обойтись без прерывания, используя содержимое самого таймера - нужно будет просто выбрать нужное значение таймерского предделителя. А если ты и такого не в силах написать, то тебе ни часовой кварц, ни атомные часы не помогут