Делаю обработчик прерывания по совпадению 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);
 }


