avr-gcc-list
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [avr-gcc-list] Issue with interrupt handler on Atmel Mega 8


From: Jerome Kerdreux
Subject: Re: [avr-gcc-list] Issue with interrupt handler on Atmel Mega 8
Date: Wed, 2 Nov 2005 00:03:48 +0100

On Tue, 1 Nov 2005 17:52:57 +0100
Jerome Kerdreux <address@hidden> wrote:

> I'm trying to use the timer 0 on a mega 8.  Everything works fine, 
> (I mean, i can see the timer TCNT0 incrementing) but when I want 
> to route the interrupt to an handler, I get a infinite reset. 
> 
> 
> Here a snipset of the code (full code, is attached) 
> 
> SIGNAL(SIG_OVERFLOW0)
> {
>   uptime ++;
>   return 0;
> }
> 
> void inittimer()
> {
>  // 1024 prescaler 
>   sbi(TCCR0,CS02);
>   cbi(TCCR0,CS01);
>   sbi(TCCR0,CS00);
> 
>   // set the interrupt handle
>   sbi(TIMSK,TOIE0);
>   uptime = 0;
> }

I check out the vector table with avr-objdump -S, and I get something
like this: 
 
00000000 <__vectors>:
   0:   12 c0           rjmp    .+36            ; 0x26
   2:   2b c0           rjmp    .+86            ; 0x5a
   4:   2a c0           rjmp    .+84            ; 0x5a
   6:   29 c0           rjmp    .+82            ; 0x5a
   8:   28 c0           rjmp    .+80            ; 0x5a
   a:   27 c0           rjmp    .+78            ; 0x5a
   c:   26 c0           rjmp    .+76            ; 0x5a
   e:   25 c0           rjmp    .+74            ; 0x5a
  10:   24 c0           rjmp    .+72            ; 0x5a
  12:   23 c0           rjmp    .+70            ; 0x5a
  14:   22 c0           rjmp    .+68            ; 0x5a
  16:   21 c0           rjmp    .+66            ; 0x5a
  18:   20 c0           rjmp    .+64            ; 0x5a
  1a:   1f c0           rjmp    .+62            ; 0x5a
  1c:   1e c0           rjmp    .+60            ; 0x5a
  1e:   1d c0           rjmp    .+58            ; 0x5a
  20:   1c c0           rjmp    .+56            ; 0x5a
  22:   1b c0           rjmp    .+54            ; 0x5a
  24:   1a c0           rjmp    .+52            ; 0x5a


As you can see, vector 10 (timer0 overflow) go to the bad_interrupt.

Somebody with an idea ? 

Bye Bye.. 




reply via email to

[Prev in Thread] Current Thread [Next in Thread]