Hallo zusammen, ich habe gerade erst angefangen mit der ic Programmierung. Ich will über einen Taster eine LED ein bzw. ausschalten. Das funktioniert soweit auch. Aber warum schaltet sich die LED beim Start ein? #include <avr/io.h> #include <stdint.h> #define F_CPU 1000000UL #include <util/delay.h> int main() { //Ausgang DDRC = (1 << 5); /* Output */ //Eingang DDRD &= ~(1 << 2); //Eingang // PORTD |= (1 << 2); //Pull-Up aktivieren int i; i = 0; PORTC &= ~(1 << PC5); while(1) { if ( !(PIND & (1<<PIND2)) ) { if(i<1) { i = 1; PORTC |= (1 << PC5); _delay_ms(250); } else { i = 0; PORTC &= ~(1 << PC5); _delay_ms(250); } } } return 0; } Gruß, Tobi
> Aber warum schaltet sich die LED beim Start ein? Weil Strom durchfließt? > PORTC &= ~(1 << PC5); Vermutlich liegt die mit einem Vorwiderstand gegen +5V? Dann schaltet eine '0' am Port die LED ein.
Danke für die super schnellen Antworten! >>> PORTC &= ~(1 << PC5); >>Vermutlich liegt die mit einem Vorwiderstand gegen +5V? >>Dann schaltet eine '0' am Port die LED ein. Nun geht es... Danke, hätte ich auch selber drauf kommen können. Verwende das Einsteigerkit hier aus dem Shop. Gruß, Tobi
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.