Hallo,
ich habe gerade ein kleines Problem mit for Schleife und bräuchte eure
fachmännische Beratung.
for(a=0;a<=REC_TIME;a++)
{
for(y=0;y<=5;y++)
{
}
}
Mit der Schleife will ich einfach den Controller Zeit X beschäftigen.
Nun habe ich dass Problem, dass Y nicht incrementiert sondern gleich auf
5 bzw. 6 geht. Woran liegt das?
Danke im Vorraus.
Dimithri schrieb: > Woran liegt das? daran das der Optimierer gute Arbeit leistet. Warum kein delay_us verwenden?
das wird an der eingestellten CodeOptimierung liegen. Der Compiler merkt, dass in der Schleife nichts gemacht wird und setzt die Varaiablen auf die Endwerte.
ich wollte kein delay_us verwenden um mir paar code Zeilen zu sparen aber wenn ich die leer stellen in der Schleife nicht so stehen lassen kann, werde ich auf delay_us gehen. Danke für die schnelle Antworten. Gruß Dimi
Dimithri schrieb: > ich wollte kein delay_us verwenden um mir paar code Zeilen zu sparen delay_us macht doch genau das gleiche was du auch machst (nur halt richtig, damit es nicht weg optimiert wird). Damit wird der code nicht größer.
Habe jetzt delay_us programmiert und die for Schleife raus genommen. Danke nochmals
stefanus schrieb: > Du kannst den Assembler Befehl NOP in die Schleife einbauen. Kann er machen. Und was soll das ändern?
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.