Hi Moonwalker,
ich denk mal dein Problem ist wenn du drückst ist dein Programm schon abgelaufen! Du müsstest theoretisch den Taster gedrückt halten während du resetest! Oder du baust deinen Abfrage und Ausgabe Block in ne Endlosschleife ein! Also statt:
soCode:int main(void) { DDRC = 0xFF; // PortC Ausgänge DDRD = 0x00; // PortD Eingänge PORTD = 0xFF; //Pullups PortD aktiviert //Bit 2 an PORTD auswerten if ( ! PIND & 0x04) //Wenn PortD Bit2 0 hat { PORTC=0xFF; //Schalter gedrückt } else { PORTC=0x00; //Schalter nicht gedrückt } return 0; }
wenn du die Endlosschleife hast wird der Taster die ganze Zeit abgefragt und nicht nur einmal ganz am Anfang!Code:int main(void) { DDRC = 0xFF; // PortC Ausgänge DDRD = 0x00; // PortD Eingänge PORTD = 0xFF; //Pullups PortD aktiviert //Bit 2 an PORTD auswerten for(;;) { if ( ! PIND & 0x04) //Wenn PortD Bit2 0 hat { PORTC=0xFF; //Schalter gedrückt } else { PORTC=0x00; //Schalter nicht gedrückt } } return 0; }
Gruß Michi







Zitieren

Lesezeichen