Forum: Mikrocontroller und Digitale Elektronik Simulator AVR-Studio


von frage (Gast)


Angehängte Dateien:

Lesenswert?

Hallo,

Ich arbeite mit AVR Studio V 4.18.
Ich versuchte mich mit timer0 von Atmega128 vertracher machen und 
verschiedene Einstellungen testen.
Quekllcode ist einfach :

#include <avr/io.h>

void init_t0(void)
{
  TCCR0 = (1 << WGM01) | (1 << CS01) | (1 << CS00);
  OCR0 = 114;
}

int main (void)
{
  init_t0();

  while(1)
  {;}
  return 0;
}
Aber wenn ich den Simulator mim Autostep starte steht der gelbe Corsur
in die Funktion init_to() beim zweitenZeile und bewegt sich nicht mehr.
Ich wollte dabei  das Verhalte der Timer0 Register betrachten.
Aber der Simulator steht und läuft nicht weiter genauso bei (step over 
F10)

Wenn ich F11 (step into) wähle dann verschwindet der gelbe Corsur und es 
passiert gar nicht.

any idea??

danke

von spess53 (Gast)


Lesenswert?

Hi

Disassembler-Window benutzen.

MfG Spess

von Heiko (Gast)


Lesenswert?

Das ist einfach!
Das Kommando "while(1) {};" läuft im Kreis, somit kann der Simulator 
auch nichts mehr anzeigen. Ein Kommando in der "while" Schleife würde 
dem Simulator wieder einen Anhaltspunkt "Breakpoint" geben und man sieht 
wie der Timer hoch zählt.
Man kann auch einfach das Assembler Fenster öffnen und sieht dann, dass 
der Simulator nicht steht, sondern fleißig im Kreis läuft.
Für den Simulator sind "while" Schleifen immer sehr schwierig zu 
behandeln.

MfG
Heiko

von frage (Gast)


Lesenswert?

Danke spess53,

Im Disassembler-Window läuft der Simulator, aber ((warum)) läuft er 
nicht
in C-Quellcode?
der Cursor soll sich im C-Code im while-Schleife aufhatlen. !!

von Kluchscheißernder N. (kluchscheisser)


Lesenswert?

frage schrieb:
> Danke spess53,
>
> Im Disassembler-Window läuft der Simulator, aber ((warum)) läuft er
> nicht
> in C-Quellcode?

Der Simulator simuliert die Hardware des AVRs. Diese kann aber kein C. 
Also kann der Simulator keinen (unübersetzten) C-Code simulieren, sonder 
nur den compilierten Maschinencode, der nur in ASM sinnvoll angezeigt 
werden kann.

> der Cursor soll sich im C-Code im while-Schleife aufhatlen. !!

Sonst noch Wünsche?

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.