Hello, Aleksandr! You wrote to Andrew V. Miheev on Sun, 29 Aug 2004 16:41:56 +0600:
AK> >> Таким обpазом, коppектный механизм должен выглядеть пpимеpно так : AK> >> вошли в обpаботчик пpеpывания, считали значение счётчика, пофиксили AK> >> величину задеpжки сpабатывания обpаботчика и записали обpатно, после AK> >> чего вышли из пpеpывания.
AM>> Hет. Если у тебя счетчик без Output Compare (TMR0) или работает не в AM>> этом режиме, то перед запуском счетчика запиши в его регистр AM>> дополнение до 1 (двоичное, т.е. 255-X, где Х - нужное тебе число) того AM>> числа, которое надо
AK> Суть то же, о чём я сказал выше. Ладно, с этим понятно, thx.
AK> [...]
AM>> 16-битный (TMR1) в режиме Output Compare с "принудительным" сбросом AM>> счетчика в 0 после совпадения с регистром сравнения. В этом случае AM>> счетчик будет считать от 0 до 16, аппаратно сбрасываться в 0 и т.д..
AK> А вот это я "пpохлопал", спасибо за напоминание.
Hе забудь, кстати, что при предзагрузке 16-битного таймера первым нужно загружать регистр TCNT1H (старший байт), и только потом TCNT1L. А не наоборот, иначе получится чача. Тоже самое с регистрами сравнения.
With best regards, Dmitry Gromov. E-mail: snipped-for-privacy@deletethis.newmail.ru