uC wird immer wieder zurückgesetzt

Gast #1319337
Lesenswert?

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)  //////

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