Forum: Mikrocontroller und Digitale Elektronik AVR Studio SIMULATOR springt nicht in for-Schleife


von Gast (Gast)


Lesenswert?

Tag zusammen
Ich habe ein Problem mit dem AVR Studio 4.15

Und zwar möchte dies bei der Simulation nicht in eine for-Schleife 
hineinspringen. Es verschwindet einfach der Gelbe Pfiel und es rührt 
sich nichts mehr. Optimierung ist ausgeschaltet und es wurde auch der 
korrekte Controller für denn Simulator ausgewählt (wobei dies ja 
eigentlich egal sein sollte).
Rein seuqntielle befehle arbeitet er ohne zu murren ab. nur bei 
Schleifen hat er probleme. Woran kann dies liegen?

von R. F. (rfr)


Lesenswert?

[...]
> Rein seuqntielle befehle arbeitet er ohne zu murren ab. nur bei
> Schleifen hat er probleme. Woran kann dies liegen?

Es gibt eine Einstellung im Simulator, die Schleifen überspringt, dh. 
sie wird ausgeführt, aber angezeigt wird erst wieder, wenn die Schleife 
verlassen wird. Die gegenteilige Anweisung heissst meist 'step into' 
oder so. Such mal, und berichte weiter.

Robert

von Gast (Gast)


Lesenswert?

Dies hate ich bereits versucht. Auch alle andere Debugger Funktionen wie 
"Run to Cursor" funktionieren nicht wenn eien for-Schleife zwischen 
aktueller Position und Cursor liegen. Er sagt dann das der Cursor an 
einer nicht-gültigen Stelle liegt

von R. F. (rfr)


Lesenswert?

[feed code]
Gruss
R

von Gast (Gast)


Lesenswert?

Anbei mal die Stelle des Quellcodes wo er nciht in die for-Schleife 
springt:
1
int main(void)
2
{
3
  uint8_t sec=0,min=0, hour=0, i=1;
4
  
5
  display_refresh(sec,min,hour);
6
7
  do
8
  {
9
    for(i=1;1<=100;i++)
10
    {
11
      //führe Code aus
12
    }
13
    sec++;
14
    if(sec>59)
15
    {
16
      min++;
17
      sec=0;
18
    }
19
20
    if(min>60)
21
    {
22
      hour++;
23
      min=0;
24
    }
25
    display_refresh(sec,min,hour);
26
  }while(1);
27
  
28
  return 0;
29
}

An der Stelle wo nun "Führe Code aus" steht kommt ein ganzer batzen an 
dem es nicht liegen kann. Denn dieser Teil des Codes wurde schon 
anderswo simuliert und das mit Erfolg. Nur hier hängt er sich an der 
for-Schleife auf und ich weis net wieso.

von spess53 (Gast)


Lesenswert?

Hi

>for(i=1;1<=100;i++)

Sieh dir das mal genau an.

MfG Spess

von Gast (Gast)


Lesenswert?

Ok, hat sich erledigt. Ich ahbe denn Fehler gefunden. Einmal war es ein 
Tippfehler wie zu sehen ist (eine 1 statt einem i) und ich habe mich in 
denn Einstellungen an einer Stelle vertan. nun tut 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.