Цитата(sensor_ua @ Mar 10 2007, 13:50)

Там таймер включается навсегда, а для формирования задержек используется сравнение текущего значения показаний таймера с запомненным ранее. Используется беззнаковая математика. Соответственно, максимальная задержка ограничена 32 бит на клок таймера.
В том то и загвоздка, что использовать таймеры вообще нельзя. Это некий "аварийный" код, который будет выполняться при обнаружении какого то серьезного сбоя. Может быть порушена оперативка, все что угодно твориться с таймерами - но трогать в этот момент что то кроме маленького кусочка оперативки которая специально под это дело выделена крайне нежелательно. Именно поэтому и ищу "классический" вариант на циклах... Максимум что можно себе позволить из "вмешательства в личную жизнь" процессора - отключить PLL (что и делается, и, вроде бы, несколько упрощает задачу).
"По тупому" задача решается очень просто, но включение-отключение оптимизации заставляет получающиеся задержки "плясать" в достаточно больших пределах. А вот от этого то и хочется уйти.
Как я уже писал - попадалось на глаза готовое такое решение, передаешь число миллисекунд, и оно все само делает, с учетом частоты кварца. ;-) Но вот потратил часа два копаясь в гугле - и найти не могу тот проект (или апноту - сейчас уже и не вспомню). Наверное сам бы уже наваял за это время ;-)