Weder ein syntaktisch noch ein semantisch Fehler wird vom Compiler angezeigt, folgedessen muss es sich um einen Logikfehler handeln.
Bemerkbar macht sich das dadurch, dass der Couter jetzt gar nicht mehr hochzählt.
folgenden code verwende ich im moment:
laut meinem verständnis sollte der code jede sekunde unterbrechen und den zähler "Laufvariable" durch die isr um eins erhöhen. ist der zähler über 100 gekommen, so wird er reseted.//Variablen initialisierung
long int Laufvariable = 0;
//HAUPTPROGRAMM
int main (void)
{
//Timer1 (16Bit) Initialisieren
TCCR1A |= (1<<CS02) | (1<<CS00) | (1<<WGM10);
OCR1A = 15625;
TIMSK |= (1<<OCIE1A);
sei();
...
...
//Ausgabe der Variablen "Laufvariable" auf dem Display
//(Displayfehler habe ich 100%ig ausgeschlossen)
...
...
return 0;
}
//INTERRUPT von Timer1 (16Bit)
ISR (TIMER1_COMPA_vect)
{
if (++Laufvariable > 100)
Laufvariable = 0;
}
Lesezeichen