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)
{
}
}
Lesezeichen