Probleme beim Debuggen mit AVR mkII

Gast #2659638
Lesenswert?

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
#2659947
Lesenswert?

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

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