Gast
#2399273
Hallo, ich bitte um Hilfe bei folgendem Programmcode: (Hardware: XPlain Board, MKII Programmer, AVR 5.0) funktionierende Programm Version (LEDs blinken): int main (void) { board_init(); init_peripherie(); PORTE.DIR = 0xFF; // Port E als Ausgang definieren while(1) { PORTE.DIR = 0xFF; // Port E als Ausgang definieren PORTE.OUT = ~out; //Variable am Ausgang vom Port invertiert ausgeben } // Insert application code here, after the board has been initialized. return 0; } /* Timer TCC0 Interrupt routine */ ISR(TCC0_OVF_vect) { out++; // hier kann stehen was der Timer bei jedem Interrupt tun soll } NICHT Funktionierende Version (unterschied in der While schleife), LEDs leuchten nicht, obwohl PORTDIR richtig gesetzt und im IO Register richtig angezeigt wird (0xFF): int main (void) { board_init(); init_peripherie(); PORTE.DIR = 0xFF; // Port E als Ausgang definieren while(1) { //PORTE.DIR = 0xFF; // Port E als Ausgang definieren PORTE.OUT = ~out; //Variable am Ausgang vom Port invertiert ausgeben } // Insert application code here, after the board has been initialized. return 0; } /* Timer TCC0 Interrupt routine */ ISR(TCC0_OVF_vect) { out++; // hier kann stehen was der Timer bei jedem Interrupt tun soll } wieso muss der DIR von Port E in der While schleife immer wieder gesetzt werden? Das Programm springt nur zwischen While schleife und interrupt.