Gast
#1319337
Hallo @all, ich arbeite mich gerade in die AtMEGA16 Familie von Atmel rein und habe mit meinem Code Probleme. Der uC geht immer wieder zur ersten Anweisung (ganz an den Anfang) zurück das schaut nach einem RESET für mich aus und ich weiß nicht warum. Ich arbeite mit AVR Studio. Das Programm soll ledigleich im der ISR den Zustand von PINA_1 ändern. Kann mir jemand sagen was ich falsch mache? Der Quellcode lautet: #include <avr/io.h> #include <avr/interrupt.h> int n = 0; int main (void){ sei(); DDRA = 0xff; PORTA = 0x00; DDRB = 0xff; PORTB = 0x00; DDRC = 0xff; PORTC = 0x00; DDRD = 0b11111011; PORTD = 0b01000000; TCCR1B = 0b00000001; TIMSK = 0b00001000; TIFR = 0b00001000; OCR1A = 0x5F; //////////////////////////////////////////////////////////////////////// / //////////////////////////////////////////////////////////////////////// / while (1) { PORTA = 0x00; } } ///////////////////// end main //////////// ///////////// ISR(TIMER1_COMPA_vect) ///////// ISR(TIMER1_COMPA_vect) { PORTA = 0b00000001; while (n<10) { n++; } n=0; } ///////////// end ISR(TIMER1_COMPA_vect) //////