Orangutan SVP-1284 timer3 resets the board

The SVP-1284 seems to have a third timer that is not being used by the pololu library. after i configured it and the interrupt is active the board is reset?. ( like pushing the reset button ).

I tried configuring the timer in different ways but with no success.
For my tests i created a separate program, so no other timers are active.

Does anybody have an idea where this hard-reset-
on-interrupt is comming from?

   TCCR3A = 0;     // set entire TCCR1A register to 0
   TCCR3B = 0;     // same for TCCR1B
   TCCR3B = 0x5;   // set prescaler to 1024   
   TIFR0 = 0;
   GTCCR = 0;
   // enable timer compare interrupt:    
   TIMSK3 = ICIE3 | TOIE1;    

After performing some search work in the avr header file i found more types of ISR functions. I implemented those as empty functions and now it seems to work fine. It still is a bit weird, because i am only using one of them and the compiler as never complaining in form of a error of warning.

anyway solved :smiley:

ISR(TIMER3_CAPT_vect) { }
ISR(TIMER3_COMPA_vect) {}
ISR(TIMER3_COMPB_vect) {}
ISR(TIMER3_OVF_vect) {}  

Hello. I am glad you were able to figure out your problem. Since your code enabled some interrupts, you need to define the ISRs for those interrupts. If you don’t define the ISR, the compiler will put some default code there which is probably not what you want. I think the default is to jump to address 0, which would look very similar to a reset.

The avr-gcc compiler is definitely not smart enough to look at what bits you are setting, deduce what interrupts will fire, and complain that the ISRs are undefined. Have you encountered other compilers that are smart enough to do that?

–David