Mam problem z uruchomieniem przerwania, kombinowałem wiele razy z różnymi ustawieniami jednak nie obserwuję zmian na porcie PD7, PWM na porcie PB3 działa (przebiegi obserwowane na oscyloskopie). Mikroprocesor to ATmega 16 taktowana z kwarcu 16 MHz. Może ktoś zerknie świeżym okiem i doradzi.
#define F_CPU 16000000
#include <avr/io.h>
#include <util/delay.h>
#include <math.h>
#include <avr/interrupt.h>
ISR(TIMER0_OVF_vect)
{
PORTD ^= (1 << PD7); // Zaneguj stan pinu PD7
}
int main(void)
{
TCCR0 |= (1<<WGM00) | (1<<WGM01) | (1<<COM01)| (1<<COM00) | (1<<CS01); // ustawienie fast PWM prescaler 8
DDRD |= (1<<PD7);
DDRB |= (1<<PB3);
OCR0 = 124;
TCNT0 = 0;
TIMSK = (1 << TOIE0);
sei();
while (1)
{
}
}