Hallo
Danke für die Antworten. Ich hab jetzt noch den TIMSK freigegeben. Und eine While Schleife eingefügt, weiß aber nicht ob die so richtig ist. AUßerdem hab ich in der ISR noch was eingefügt mit dem ich eigentlich die LED`s wieder ausschalten möchte. Das funktioniert nun aber auch nicht, die LED`s sind immer aus.
Vielleicht könnt ihr da noch einmal drüber schauen.Code:#include <avr/io.h> #include <avr/interrupt.h> #define FCPU_4000000UL ISR(TIMER0_OVF_vect) { if(PINC & (1<<PINC3)) //Hier zum ausschalten { PORTD = 0xff; } if(! (PINC & (1<<PINC3))) //Hier zum einschalten { PORTD = 0x00; } } void main(void) { while(1); { DDRD = 0xff; //LED PortB als Ausgang definieren DDRC &= ~(1<<DDC3); //Port C3 als Eingang definieren. PORTC |= (1<<PC3); //internen Pull Up von Port C3 aktivieren TCCR0 |= (1<<CS00)|(1<<CS02); //Timer0 mit Vorteiler 1024 starten PORTD = 0xff; //alle LED`s ausschalten ???WARUM??? sei(); //Interrupts global freigeben TIMSK |= (1<<TOIE0); //interrupt von Timer 0 freigeben } }
Vielen Dank!
MFG
Bean







Zitieren

Lesezeichen