Probleme beim Debuggen mit AVR mkII

Gast #2659638
Hallo Leute,

habe Probleme beim Debuggen mit AVRStudio5 und zwar damit, die Inhalte 
von Variablen auszulesen. Das geht weder mit MouseOver noch mit einer 
Watch.
Lustiger Weise funktioniert das Ganze sobald ich die Variable mit static 
deklariere:

So funktioniert es nicht:
1
void fcn(U16 Prefix,U32 Frequency)
2
{
3
  U32 Freq = FrequencyInput(Frequency);
4
  
5
  /* commands */
6
  
7
  return;
8
}

So funktioniert es:

1
static U32 Freq;
2
void fcn(U16 Prefix,U32 Frequency)
3
{
4
  Freq = FrequencyInput(Frequency);
5
  
6
  /* commands */
7
  
8
  return;
9
}

Weiß jemand warum das so ist?
An der U32 Wortbreite liegt es nicht, es hat das selbe Verhalten mit U8.

Würde mich über eine Antwort freuen.
schöne Grüße
Micha schrieb:
> Weiß jemand warum das so ist?

Je nachdem, was an Optimierung noch rauszuholen ist, werden temporäre 
Variablen in Registern gehalten.

Tante Edit meint noch:

Micha schrieb:
> void fcn(U16 Prefix,U32 Frequency)
> {
>   U32 Freq = FrequencyInput(Frequency);
>
>   /* commands */
>
>   return;
> }

Sowas fliegt, z.B., komplett raus, wenn Freq nicht weiter verwendet 
wird.

Antwort schreiben

Eine eigene Frage? Dieser Thread ist über 14 Jahre alt. Stell sie in einem eigenen Thread – dort lesen mehr Leute mit, und sie wird öfter und schneller beantwortet.

Neuen Thread starten

Eine Lösung, Ergänzung oder Rückmeldung zu diesem Thread? Dann antworte hier.

Formatierung
  • [c]C-Code[/c]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] – Link zu einem Artikel
  • Verweis auf einen anderen Beitrag: Rechtsklick auf dessen Beitrags-ID (#8078628), „Adresse kopieren“, in den Text einfügen

Mehr zur Formatierung

Längeren Sourcecode als Anhang, nicht in den Text. JPG nur für Fotos und Scans; Zeichnungen und Screenshots als PNG oder GIF. Siehe Bildformate.

Schon registriert? Anmelden

Wird nicht angezeigt. Wir schicken dir einen Link; sobald du damit bestätigst, erscheint dein Beitrag.

Mit dem Abschicken legst du einen kostenlosen Account an und erkennst die Nutzungsbedingungen und die Datenschutzerklärung an.