Предделитель
Если таймер считает импульсы от тактового генератора, или от своего
внутреннего, то их еще можно пропустить через предделитель.
То есть еще до попадания в счетный регистр частота импульсов будет
делиться. Делить можно на 8, 32, 64, 128, 256, 1024. Так что если повесишь
на Т/С2 часовой кварц, да пропустишь через предделитель на 128, то таймер
у тебя будет тикать со скоростью один тик в секунду.
Удобно! Также удобно юзать предделитель когда надо просто получить
большой интервал, а единственный источник тиков это тактовый генератор
процессора на 8Мгц, считать эти мегагерцы задолбаешься, а вот если
пропустить через предделитель, на 1024 то все уже куда радужней.
Но тут есть одна особенность, дело в том, что если мы запустим Т/С с каким
нибудь зверским предделителем, например на 1024, то первый тик на
счетный регистр придет не обязательно через 1024 импульса.
Это зависит от того в каком состоянии находился предделитель, а вдруг он к
моменту нашего включения уже досчитал почти до 1024? Значит тик будет
сразу же. Предделитель работает все время, вне зависимости от того включен
таймер или нет.
Поэтому предделители можно и нужно сбрасывать. Также надо учитывать и
то, что предделитель един для всех счетчиков, поэтому сбрасывая его надо
учитывать то, что у другого таймера собьется выдержка до следующего тика,
причем может сбиться конкретно так.
Например первый таймер работает на выводе 1:64, а второй на выводе 1:1024
предделителя. У второго почти дотикало в предделителе до 1024 и вот вот
должен быть тик таймера, но тут ты взял и сбросил предделитель, чтобы
запустить первый таймер точно с нуля. Что произойдет? Правильно, у
второго делилка тут же скинется в 0 (предделитель то единый, регистр у него