Hallo
Böser Fehler hat sich da eingeschlichen.
Also besser so, da TIMSK ein Register ist.Code:void timer (void){ TIMSK = _BV(TOIE0); // Hier setzt du das Flag OK !!!!!!!!!!!!!!!!!!!!!!!!!! TCNT0 = 0; //Rücksetzen des Timers TCCR0 = _BV(CS01); //Prescaler 8 } void timer1 (void){ TIMSK = _BV(TOIE1); //hier löschst du aber gleichzeitig das TOIE0 Flag, da du das Register überschreibst. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! TCNT1 = 0; //Rücksetzen des Timers TCCR1B = _BV(CS00); //Prescaler 1 }
Simulieren in AVR Studio ganz grobCode:void timer (void){ TIMSK |= _BV(TOIE0); //overflow flag setzen--> ab jetzt kann overflow interrupt ausgelöst werden TCNT0 = 0; //Rücksetzen des Timers TCCR0 = _BV(CS01); //Prescaler 8 } void timer1 (void){ TIMSK |= _BV(TOIE1); //overflow flag setzen--> ab jetzt kann overflow interrupt ausgelöst werden TCNT1 = 0; //Rücksetzen des Timers TCCR1B = _BV(CS00); //Prescaler 1 }
Neuen Ordner anlegen / C File schreiben und in den Ordner speichen / MFILE aufrufen / Einstellugen vornehmen in Menuezeile MAKEFILE / MAIN file name = Name des C Files / MCU Type = uC wählen / OUTPUT Format = ihex / DEBUG FORMAT = AVR ext coff .
Dann unter FILE das Makefile in den Ordner speichern und Make All ausführen.
Im AVR Studio OPEN/ den Ordner öffnen / C Filename mit der Endung *.cof öffnen / AVR Simulator wählen / uC wählen fertig.
MFG
Dieter







Zitieren

Lesezeichen