Forum: Mikrocontroller und Digitale Elektronik Wieder mal Lauflicht (Atmega, C-Prog.)


von Marten M. (mcgonahy148)


Lesenswert?

Als C-Frischling auf dem Gebiet der uController hab ich schon bei meine 
Anfängen ein paar seltsame Probleme...

1
while(1)
2
  {
3
  
4
    for (int i=0; i=6;i++)
5
    {
6
    PORTA |= (1<<i);
7
    _delay_ms(800);
8
    PORTA &= ~(1<<i);
9
    _delay_ms(800);
10
    }
11
    
12
  }

Müsste doch ein Lauflicht ergeben wenn ich jetzt 6 LEDs an Port A
dranhängen hab?! Ähm, wenn ich anstatt "i" Zahlenwerte wie z.B. 0,1,2... 
eintrage, dann gehts ja auch, aber für was habe ich denn eine 
Laufvariable und eine for-schleife?

Weiss wer Rat?

von Malte M. (maltem)


Lesenswert?

i=6 != i==6

Du machst keinen Vergleich, sondern eine Zuweisung

von Marten M. (mcgonahy148)


Lesenswert?

Ach du meine Fresse...lange ist`s her mit C :-) Ich seh sowas garnicht 
mehr...

Danke dir!

von Marten M. (mcgonahy148)


Lesenswert?

Geht trotzdem nicht? es leuchtet keine einzige LED. Hat es was mit dem 
delay zu tun, dass er hier aus der main rausspringt oder wie?

von Steffen (Gast)


Lesenswert?

s. anderen Thread

Deine for Schleife ist falsch.
Das muss heißen
for (int i=0; i<6;i++)
 oder
for (int i=0; i<=6;i++)

Du wiederholst die Schleife solange i = 6 ist. i ist aber am Anfang = 0,
also bricht sie sofort ab.

von Marten M. (mcgonahy148)


Lesenswert?

C-Grundkurs...aiaiaia...for-schleife war einfach hinten bis vorne 
falsch, ok. Nun geht es.

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
Noch kein Account? Hier anmelden.