Ich nochmals, ich habe mal soweit die hälte geschaft,
die Led geht nach 6 sec aus, wenn ich den Taster dauert gedrückt halte.
Aber wenn ich jetzt nur kurz den Taster betätige, leuchtet die Led dauern
Hier der Code:
Code:#include <avr/io.h> #include <avr/interrupt.h> ISR(TIMER0_OVF_vect) { static int a = 0; a++; // Breakpoint #1 im Simulator if (!( PINB & (1<<PINB0))) /* mache was wenn PinB0 low ist */ { if (a > 6) { PORTB|=(1<<PB1); // high } else { PORTB&= ~(1<<PB1); // low a = 0; } } } void InitTimer(void) { TCCR0 = TCCR0 | (1<<CS00); // Prescaler CK/8 TCNT0 = 0; TIMSK = TIMSK | (1<<TOIE0); } int main(void) { InitTimer(); sei(); DDRB &= (~ (1<<PB0)); /* Pin PB0 als Eingang */ PORTB |= (1<<PB0); /* Pull Up von PIN B0 aktivieren */ DDRB = (1<<DDB1); // PB1 Ausgänge while(1) { } }







Zitieren

Lesezeichen