Gast
#1990266
Hallo zusammen und Frohe Weihnachten erstmal. Das folgende Programm soll mit Taster1 die LED1 ansteuern, mit Taster2 die LED2 und mit Taster3 LED1 und LED2. Was ich gerne miteinbauen würde, aber nicht wirklich drauf komme ist, das wenn mehr als ein Taster gedrückt wird, also Taster1 und 2 oder Taster 1 und 3 oder Taster 2 und 3 oder alle drei taster zusammen, keine LED gehen soll. Das PRogramm sieht wie folgt aus: #include <avr/io.h> int main(void){ DDRD=0b11110000; while(1){ if(PIND&(1<<PIND2)) PORTD|=(1<<PD5); else PORTD&=~(1<<PD5); if(PIND&(1<<PIND3)) PORTD|=(1<<PD6); else PORTD&=~(1<<PD6); if(PIND&(1<<PIND4)) PORTD|=(1<<PD5)|(1<<PD6); else PORTD&=~(1<<PD5)|(1<<PD6); if(PIND&(1<<PIND2)&&(1<<PIND3) || (1<<PIND2)&&(1<<PIND4) || (1<<PIND3)&&(1<<PIND4)) PORTD&=~(1<<PD5)|(1<<PD6); } return0; } Der reine Teil wos ums anschalten geht Funktioniert bei mir. Einen fehler den ich gerade gefunden habe ist, das ich die Pins 0bis3 als eingang und die Pins 4 bis 7 als Ausgänge definiert habe, funktionieren tut das aber trozdem mit dem taster an PD4. Wieso? Also mir geht es um die letzte if bedingung. Ich kann mir denken, dass man das noch viel Professioneller schreiben kann, aber ich steh noch am Anfang, deshalb wäre ich um eine Professionelle schreibweise dankbar, aber nicht böse wenns auch nur einfach simpel gehen würde. Mfg und nen guten rutsch schonmal im Vorraus JEns