Hallo Forumgemeinde,
ich programmiere mit WinAVR in der Eclipse-Umgebung. Debuggt wird mit
AVR Studio4.0
Ich habe folgend Funktion.
void second_try(unsigned char *zeiger, unsigned char length)
{
unsigned char loc;
glob = 0x00;
loc = 0x00;
while( !(glob == length) )
{
send_row_data(zeiger[glob]);
glob++;
}
}
Ich weiß dass die lokale Variable unnötig ist aber ich habe das ganze
sowohl mit einer globalen als auch mit einer lokalen Variable probiert.
Es ist so, wenn ich mit dem Debugger eine Breakpoint direkt vor "glob =
0x00" setzt, dann wird beim nächsten Schritt (F10) der Wert 0x44 und
nicht der Wert 0x00 geladen. Wenn ich allerdings schreibe "glob = 0x01"
dann wir auch die "1" geladen. Ich kann das ganze nicht glauben aber es
ist wirklich so. Ich habe das ganze auch in einem anderen Projekt
probiert aber da war das gleiche Problem.
Dann habe ich noch folgendes probiert:
glob = 0x01;
glob -= 1;
Dann steht die 0x00 drin.
Ich habe das ganze dann auch noch in Studio 5.0 probiert. Da war dann
das gleich Problem.
Hat irgendjemand eine Idee woher das kommen kann?
Viele Grüße,
Marcel(",)