делаю такCOKPOWEHEU писал(а):А ничего что у m168 таймер T2 восьмибитный?OCR2A = 0x1E85;
Да и остальная логика на первый взгляд странная.Чему равны остальные биты этого регистра? Лучше при настройке делать прямое присваивание.TCCR2A |= (1 << WGM21);
TCCR2B |= (1 << CS21); делитель F_CPU/8 = 125 кГц
OCR2A = 0x1E85; если предположить, что этот регистр 16-битный, делитель равен 7814
Тогда прерывание возникает с частотой F_CPU/8/7814 = 16 Гц, то есть с интервалом 62,5 мс.
Код: Выделить всё
TCCR2A = (1<<WGM21); // Режим CTC (сброс по совпадению)
//TCCR2B = (1<<CS20); // Тактирование от CLK.
TCCR2B = (1<<CS20)|(1<<CS21)|(1<<CS22); // Если нужен предделитель :
// TCCR2B = (1<<CS21); // CLK/8
// TCCR2B = (1<<CS20)|(1<<CS21); // CLK/32
// TCCR2B = (1<<CS22); // CLK/64
// TCCR2B = (1<<CS20)|(1<<CS22); // CLK/128
// TCCR2B = (1<<CS21)|(1<<CS22); // CLK/256
// TCCR2B = (1<<CS20)|(1<<CS21)|(1<<CS22); // CLK/1024
OCR2A = 255; // Верхняя граница счета. Диапазон от 0 до 255.
// Частота прерываний будет = Fclk/(N*(1+OCR2A))
// где N - коэф. предделителя (1, 8, 32, 64, 128, 256 или 1024)
TIMSK2 = (1<<OCIE2A); // Разрешить прерывание по совпадению




