Hallo
Ich hab das RN Mega2560 Modul. Ich möchte, dass ein Interrupt ausgelöst wird, wenn der Timer an der oberen Grenze angekommen ist. (16Bit Timer = 65536)
Allerdings wird die ISR nicht ausgeführt. Hab auch schon im Forum gesucht aber ich finde meinen Fehler einfach nicht.
Hier ist mal der Code:
Code:
#include <avr/io.h>
#include <avr/interrupt.h>
volatile uint8_t zaehler=0;
void start_timer(void) {
TCCR5B |= (1<<CS02) | (1<<CS00); //Prescaler für Timer0 auf 1024
TCNT5 = 0;
TIMSK5 |= (1<<TOIE5); //Timer Overflow Interrupt Enable
zaehler=0;
sei();
}
ISR(TIMER5_OVF_vect) {
if(zaehler<10) zaehler++;
else {
zaehler=0;
lcd_clrscr();
lcd_puts("Timer");
PORTC ^= (1<<7);
}
}
Lesezeichen