Gast
#2402306
Nabend, ich habe ein kleines Problem. Unzwar habe ich mir ein kleines Programm geschrieben, was ihre Aufgaben soweit erfüllt. Es soll mit dem Programm verschiedene Funktionen mithilfe eines Tasters geschalten werden. Ein klick = Blinklicht, Zwei klick = Lauflicht, etc. So jetzt habe ich es hin bekommen, das ich bei jedem Tastendruck eine verschiedene Funktion habe....jetz habe ich aber bei einem Blinklicht z.b. das Problem das die LEDs nur einmal auf blinken...demnach fehlen die Schleifen...jetzt habe ich es mithilfe dieser Seite http://www.peacesoftware.de/ckurs11.html versucht eine Endlos Schleife in die Bedingung ein zu binden. Das klappt auch, nur jetzt geht das Programm nicht mehr aus die schleife raus, wenn ich den Taster erneut drücke. Hier das Programm mal mit einer Endlos Schleife: #include<avr/io.h> #include<util/delay.h> int main(void) { DDRB=0xff; DDRC=0x00; PORTB=0x00; PORTC=0x00; unsigned int x; while(1){ if ( PINC &(1<<PC0)) { PORTB=0x00; } if ( PINC &(1<<PC0)) { PORTB=0xff; } if ( PINC &(1<<PC0)) { for(;;){ PORTB=0xff; _delay_ms(100); PORTB=0x00; _delay_ms(100); } } if ( PINC &(1<<PC0)) { for (x=0;x<=4;x++) { PORTB=(1<<x); _delay_ms(100); PORTB=0x00; } } } return 0; } Ich steh auf dem Schlauch und krieg es einfach nicht hin, die Schleife wieder zu verlassen wie kann ich das Problem lösen? Bitte um Hilfe Gruß