atmega128: прерывание от timer3 не выполняется

Программирование микроконтроллеров AVR, PIC, ARM.
Разработка и изготовление печатных плат для модулей.

atmega128: прерывание от timer3 не выполняется

Сообщение matracc » 03 июл 2007, 15:38

Пишу IAR.
Делаю обработчик прерывания по совпадению TCNT3 с OCR3A
Он в железке никак не вызывается - там должна быть работа с пинами, а ее нет - не видно на осцилографе. Если эту же процедуру работы с пинами вешать на прерывание timer0 - все проходит как надо.
В Avr Studio и Proteus все моделируется как надо.
Вот настройки таймера 3:

Код: Выделить всё
TCCR3A = 0;
OCR3AH = 0x00;
OCR3AL = 0xFF;
TCCR3B = (1 << CS32) | (1 << CS30) | (1 << WGM32);
TCCR3C = 0;
TCNT3 = 0;
ETIMSK |= 1 << OCIE3A;

ETIFR = TIFR = 0;


Вот обработчик:

Код: Выделить всё
#pragma vector=TIMER3_COMPA_vect
__interrupt void Timer3()
{
   
   drawline(lx, ly, (const char*)vbuff1);

}
matracc
 
Сообщения: 40
Зарегистрирован: 18 ноя 2006, 20:13
Откуда: Москва

Сообщение avr123.nm.ru » 03 июл 2007, 22:35

Может у вас фьюз на совместимость с мега103 настроен ?  Проверьте.   avr123.nm.ru/07.htm
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва

Сообщение matracc » 04 июл 2007, 10:42

черт
так и было
мне стыдно
правда
matracc
 
Сообщения: 40
Зарегистрирован: 18 ноя 2006, 20:13
Откуда: Москва

Сообщение avr123.nm.ru » 04 июл 2007, 12:27

Ни чего стыдного. Обычные "грабли".
Аватара пользователя
avr123.nm.ru
отсылающий читать курс
 
Сообщения: 14195
Зарегистрирован: 06 ноя 2005, 04:18
Откуда: Москва


Вернуться в Микроконтроллеры

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 19