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.