Цитата(lamerok @ Nov 18 2004, 12:39 PM)
romez Я думаю, что не правильно

Основное отличие - это что, что блок compare он для того и нужен, чтобы задавать нужные интервалы, формировать задержки и т.д. А счетчик он просто считает себе и считает, и трогать его не рекомендуется.
Тогда разбираемся дальше

По вашему совету немного переделал функцию задержки, дабы она работала через compare регистр. Что имеем:
1) В SREG установил флаг глобальных прерываний
2) в TCCR0 поместил коэф. деления
3) TIMSK определил работу по прерыванию (OCIE0)
4) TCNT0 = VAL;
5) OCR0 = VAL+period;
Если я правильно понял даташит, то как только операция сравнения TCNT0 c OCR0 завершится удачно (т.е. TCNT0=OCR0), то сгенерируется прерывание.
Отлаживаю в avr studio и никакого перехода на свою функцию обработки этого прерывания не происходит, и даже не выставляется бит OCF0.
Где я напортачил?