Gast
#180209
Hallo, ich habe folgendes C Programm geschrieben und mit WINAVR kompiliert. Als ich die Cof Datei im AVR Studio geöffnet habe und debuggen wollte mit dem JTAG ICE habe ich bemerkt dass die laufvariable int i nicht hochgezählt wird. Obwohl dass Programm funktioniert. # include <io.h> # include <iom16.h> //ATmega8-Deklarationen int i; void main(void) { DDRD=0xFF; //Alle PORTB-Pins auf Ausgang while(1) { for (i=0;i<0xF000;i++) //Warteschleife, abhängig von AVR-Taktfrequenz {}; PORTD++; } } Im Disassembler Mode habe ich gesehen dass diese Variable im Register steht (R24 und R25) und nicht wie im C-Debugfenster angegeben im SRAM , ist dass also ein Bug des Compilers oder des AVR Studios. Vieleicht kann dass mal jemand compilieren und im SingleStep die Variable i beobachten ob sie hochgezählt wird. Bei mir jedenfalls nicht. Danke für eure Hilfe