Hallo
also zuerst mal zu deiner Timer Einstellung. Was für ein AVR ist das denn? Bei dem Mega 8 wäre deine TCCR1B Einstellung z.B. "External clock source on T1 pin. Clock on rising edge"
Außerdem würde ich nicht um eine Sekunde zu messen den Prescaler auf 1 stellen und dann noch so vorladen, dass man 1000000 Interrupts pro Sekunde hat. Es gibt hier irgendwo ein kleines Programm (rnAVR) damit kann man recht gut bestimmen, was man so als Prescaler und Vorladewerte nehmen kann.
Ich würde das dann so machen: (für den Mega8, musst du dann übertragen)
Code:
int main(void) {
DDRC |= (1<<0);
PORTC &= ~(1<<0);
TCCR1B |= (1<<CS12); //Prescaler 256
TCNT1 = 3036; //Vorladewert für den Timer
TIMSK |= (1<<TOIE1);
sei();
}
ISR(TIMER_OVF_vect) {
PORTC ^= (1<<PC0);
TCNT1 = 3036;
}
Lesezeichen