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.
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
}
}
Vielleicht könnt ihr da noch einmal drüber schauen.
Vielen Dank!
MFG
Bean
Lesezeichen