Цитата(Александр Куличок @ Apr 11 2007, 17:35)

Шима нет потому что OCR0A - адрес регистра, а не номер пина, к которому сведодиод подключен.
для меги 64 нужно DDRB |= (1<<5); Но судя по названиям регистров, у Вас другой камень.
я уже нашел этот косяк

)) и я его исправил, но это не должно влиять на прерываение.
Цитата(Сергей Борщ @ Apr 11 2007, 15:48)

А программа вообще живет? Может имеет смысл еще и в главном цикле ногой помахать?
программа живет, через spi отсылает и передает
Цитата(_Артём_ @ Apr 11 2007, 15:46)

Советую использовать программы для настройки периферии.
Например ApplicationBuilder из ImageCraft или CodeVisard из CodeVision, у IAR тоже вроде есть что-то подобное (но не входит в WorkBench - скачивается отдельно).
Для сложной настройки эти утилиты не всегда годятся, но для таких простых случаев как у Вас подойдут.
а что из этого разнообразия сами посоветуете? или скажите + и -
Цитата(Сергей Борщ @ Apr 11 2007, 15:32)

А мне бросилось в глаза жуткое количество команд вместо одной:
Код
TCCR0A = (0<<WGM01) | (1<<WGM00) | (0<<COM0A0) | (1<<COM0A1) | (0<<CS02) | (0<<CS01) | (1<<CS00);
и
TIMSK0 |= (1<<TOIE0) | (1<<OCIE0A);
ну так мне было удобней настроить (нормальный отмаз?)
Цитата(_Артём_ @ Apr 11 2007, 15:18)

Инициализация таймера у Вас по-видимому правильная: проверил в Studio - таймер инкрементируется.
Что бросилось в глаза в Вашей программе: названия портов какие-то странные (не стандартные), может у вас хидер не правильный или не от того процессора?
а как таймер запускается? после чего он начинает считать?