In diesem Code ist gegenüber deinem nur diese eine Zeile geändert.Code:#ifndef MCU #define MCU atmega32 #endif #ifndef F_CPU #define F_CPU 16000000UL #endif #include <avr/io.h> #include <avr/interrupt.h> volatile unsigned char time; ISR(TIMER1_COMPA_vect){ /* ISR Timer1 Output Compare Match */ time++; /* Variable wird um 1 erhöht */ } int main(void){ DDRC=0b11111111; /* Gesamtes PortD ist Ausgang */ OCR1A=625; /* Compare Match Wert, ergibt mit Prescaler einen 10msec Takt */ TIMSK=(1<<OCIE1A); /* Compare Match freigeben */ TCCR1B= (1<<WGM12)|(1<<CS12); /* Compare Match, Prescaler /256 */ sei(); while(1) { if (time>=100) { /* Takt mal 100 ergibt 1sec */ PORTC^=(1<<PC5); /* PortD5 wird getoggled */ time=0; /* time auf 0 stellen */ } } }
Wenn es wieder nicht klappt, dann schick mir mal dein *.hex File zum vergleichen.
Lesezeichen