2topkin Вашу мысль понял, но у меня прерывание не по переполнению, а по достижению OCR1A.
2vet Вы правы, строки закоментировал по ошибке при вставке в форум. Попутный вопрос: я думал что OCR1A нужно заполнять по байту как у меня, но в итоге работает и OCR1A = 625;
2defunct Это, к сожалению, также не помогло, таймер срабатывал слишком часто, но не так чтобы в каждый такт, а примерно в 1,5-2 раза чаще, чем положено. Так же было и до перестановки OCR1A = 625;
У меня в обработчике прерывания стоит инкремент переменной и несколько проверок if. Я щас попробовал вставить TCCR1B=0x00; до инкремента и TCCR1B=0x0C; после. Замерил 1 минуту, теперь точно щёлкает. Почему это помогло я не понял.
ЗЫ: если так не понятно, приведу листинг.
|