Ich kann nicht sagen ob es das gelbe vom Ei ist, aber es ist zumindest eine Möglichkeit.
Code:#include "avr/io.h" #include <util/delay.h> #ifndef F_CPU #warning "F_CPU war noch nicht definiert, wird nun mit 3686400 definiert" #define F_CPU 4000000UL /* Quarz mit 3.6864 Mhz */ #endif unsigned char Tastenflag =1; int main(void) { PORTD |= (1<<PD6); DDRD &= ~(1<<PD6); PORTB = 0xff; DDRB = 0xff; uint8_t i = 0; while (1) { if((!(Tastenflag))&&( PIND & (1<<PIND6))){ // Wenn Taste nicht gedrückt und Tastenflag=0 Tastenflag =1; // Tastenflag wieder setzen } if ((Tastenflag)&&(!( PIND & (1<<PIND6) ))) //Wenn Taste betätigt und Tasteflag gesetzt { // _delay_ms(50); i= i + 1; Tastenflag = 0; // Tastenflag auf 0 setzten switch (i) { case 1 : PORTB = 0x4F; break; case 2 : PORTB = 0x12; break; case 3 : PORTB = 0x06; break; case 4 : PORTB = 0x4C; break; case 5 : PORTB = 0x24; break; case 6 : PORTB = 0x20; break; case 7 : PORTB = 0x0F; break; case 8 : PORTB = 0x00; break; case 9 : PORTB = 0x04; i=0; break; } }






Zitieren

Lesezeichen