Вот например:
при инициализации частота переполнения TIM1 100Hz задана стартовым числом (TCNT1H=0xF6; TCNT1L=0xFE;)
по ходу программы необходимо изменить частоту срабатывания TIM1 до 10Hz.
Пробовал следующий прием: if(что-либо) { #asm("cli") TCNT1H=0xA5; TCNT1L=0xFE; #asm("sei") delay_us(100);}
Контроллер отвечал следующим - таймер TIM1 "затыкался" на некоторое время (видимо на время заданное новым стартовым числом + задержка + циклы) и... начинал исправно отсчитывать срабатывания на старой частоте 100Hz

SOS SOS!!!





 Ур-а-а заработало! Тормозит и ускоряется. А дело как всегда в мелочи - ведь видел же строку // Reinitialize Timer 1 value, но почему-то не вдумался в смысл прочитанного
  Ур-а-а заработало! Тормозит и ускоряется. А дело как всегда в мелочи - ведь видел же строку // Reinitialize Timer 1 value, но почему-то не вдумался в смысл прочитанного 
