Hallo,
bei dem Quelltext würde ich erwarten das bei jedem Timerüberlauf an PB1
das Signal wechselt.
Es passiert aber garnix. Habe ich irgendwas vergessen?
#include <avr/io.h>
#include <avr/interrupt.h>
#define F_CPU 1000000
int main(void)
{
DDRB=0xFF;
PORTB=0xFF;
// Timer einstellen
TCCR0B |= (1<<CS00)|(1<<CS02); // Zählt mit 1/1024 des cpu Takt bis
255
TIMSK0 |= (1<<TOIE0); // Interrupt aktiv
sei();
while(1)
{
//später irgendwas...
}
}
ISR (TIMER0_OVF_vect)
{
PORTB ^= (1<<PB1);
}
Hier noch das Datenblatt:
http://www.atmel.com/dyn/resources/prod_documents/doc8048.pdf
Vielleicht weil es ISR (TIM0_OVF_vect) heißt? Sollte aber ein Warning kommen.
Das war es. Da hatte ich aber echt Tomaten auf den Augen. Danke ;)
Antwort schreiben
Bitte melde dich an, um einen Beitrag zu schreiben.