# support: Prescaller ### Объяснение из ютубовского ролика > Что из себя представляет 10bit t/c prescaler я так и не понял В предделитель приходит частота, на выход он поставляет clock. Сначала 10bit t/c prescaler выводит на каждый свой выход частоту, деленную на какое-то число (8, 64, 256, 1024), на выход к мультиплексору. К нему адресными входами подведены 3 бита - определяющие нужную частоту (1 из 8), это настраивается битами CS00,CS01, CS02 регистров TCNx. Если нужная частота совпала с той, которая пришла - выводим 1 на clock. Например, мы в TCNx указали 110 - 7 бит, что означает не Tn, соответственно если мы на Tn подадим 0, то мультиплексор выдаст 0. Tn - внешний источник тактовых импульсов. (То, что можем подать мы по своему желанию) Он и его инвертмрованное значение так же подаются на мультиплексор 8 вход мультиплексора - off. Никогда не заработает. Полезно сначала поставить на off, потом настроить схему, которая использует предделитель, и переключить на что-то другое. Если говорить о таймерах, Сначала настраиваем таймер, потом пред делитель - потому что иначе таймер пойдёт считать по старым настройкам сразу после установки предделителя. PSR10 берется из регистра SFIOR. (страница 88) :::spoiler Оригинал на английском Bit 0 – PSR10: Prescaler Reset Timer/Counter1 and Timer/Counter0 When this bit is written to one, the Timer/Counter1 and Timer/Counter0 prescaler will be reset. The bit will be cleared by hardware after the operation is performed. Writing a zero to this bit will have no effect. Note that Timer/Counter1 and Timer/Counter0 share the same prescaler and a reset of this prescaler will affect both timers. This bit will always be read as zero. ::: PSR10 - Обновление таймера. Запись 0 эффекта не возымеет, запись 1 сбросит, причем оба, так как оба таймера 0 и 1 живут на одном и том же предделителе Схема для только 1 таймера: ![](https://i.imgur.com/W3ypM9p.png) ### Менее понятная но более корректная инфа из даташита и тд Предварительный делитель предназначен для того, чтобы расширить диапазон формируемых частот и длительностей таймера. Предделитель делит частоту тактирования таймера, поступающую на основной счетчик. По сути, он, вместе с входной частотой, определяет разрешающую способность таймера (определяет промежуток времени на один интервал) :::spoiler Оригинал на инглише The prescaler is free running, that is, operates independently of the clock select logic of the Timer/Counter, and it is shared by Timer/Counter1 and Timer/Counter0. Since the prescaler is not affected by the Timer/Counter’s clock select, the state of the prescaler will have implications for situations where a prescaled clock is used. One example of prescaling artifacts occurs when the timer is enabled and clocked by the prescaler (6 > CSn2:0 > 1). The number of system clock cycles from when the timer is enabled to the first count occurs can be from 1 to N+1 system clock cycles, where N equals the prescaler divisor (8, 64, 256, or 1024). It is possible to use the Prescaler Reset for synchronizing the Timer/Counter to program execution. However, care must be taken if the other Timer/Counter that shares the same prescaler also uses prescaling. A prescaler reset will affect the prescaler period for all Timer/Counters it is connected to. ::: Предделитель работает автономно, то есть работает независимо от логики выбора тактового сигнала Таймера/Счетчика. Поскольку на предварительный делитель не влияет выбор тактовой частоты Таймера/Счетчика, состояние предварительного делителя будет иметь значение в ситуациях, когда используется предварительно масштабированная тактовая частота. Один из примеров артефактов предварительного масштабирования возникает, когда таймер включен и тактируется модулем предварительного масштабирования (6 > CSn2:0 > 1). Количество циклов системных часов с момента включения таймера до первого отсчета может составлять от 1 до N+1 циклов системных часов, где N равно делителю предварительного делителя (8, 64, 256 или 1024). Можно использовать сброс предварительного делителя для синхронизации таймера/счетчика с выполнением программы. Однако следует соблюдать осторожность, если другой таймер/счетчик, использующий тот же пределитель, также использует предварительное масштабирование. Сброс предварительного делителя повлияет на период предварительного делителя для всех таймеров/счетчиков, к которым он подключен. Эта схема показывает работу сразу 2 таймеров ![](https://i.imgur.com/Tt8Wrop.png)