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.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.