Hallo zusammen, ich habe an PC0, PC1 und PC2 eine LED. Diese möchte ich erst alle nacheinander einschalten und dann wieder ausschalten. Nun stehe ich etwas auf dem Schlauch und verstehe nicht, warum ich meine zweite Schleife bis < 4 statt < 3 laufen lassen muss. Tue ich das nicht, bleibt die LED an PC2 immer an. int main(void) { /* Replace with your application code */ DDRC = 0b00000111; PORTC = 0; while (1) { for (int i = 0; i < 3; i++) { PORTC |= (1 << i); _delay_ms(100); } for (int i = 0; i < 4; i++) { PORTC &= -(1 << i); _delay_ms(100); } } }
Kein Wunder, dass die arme Tilde so platt gedrückt daher kam... ;-)
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.