while-Schleifen Atmega168

Gast #407733
Lesenswert?

Hallo Zusammen

Ich möchte ein programm sreiben für meinen ATMEGA168 in welchem es
mehrere while Schleifen gibt.

z.b

while(1)//Schleife 1
{.
 .
 .
 .
break;
}


while(1)// Schleife 2
{
.
.
.
break;
}

er soll eine Schleife ausführen, bis eine bedingung kommt und dann in
die nächste hüpfen usw. und das alles ist in einer großen Schleife.

Frage: Es will einfach nicht funktionieren. Ist es möglich damit es gar
nicht möglich ist sowas zu programmieren oder habe ich wirklich irgendwo
einen anderen fehler?

David
Gast #407735
Lesenswert?

Ja,das ist möglich.Zum Abbrechen von Schleifen ist der break-Befehl
schliesslich da.Alternativ könntest du auch ein Flag definieren was du
vor Eintritt in die Schleife setzt und dann einfach per

while(Flag)
{
 ...
}

abfragst.

Ob du nun aber in deinem Programm alle Bedingungen richtig gesetzt hast
kann ich ohne Kristallkugel schlecht sagen.Wo kein break kommt,da läuft
die Schleife logischerweise weiter.

Falls du z.B ein Hardwareregister ausliest und damit weiterrechnest und
diese nicht volatile ist,kann es sein das die Variable in ein
Allzweckregister wegoptimiert wird.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren