[Icc-avr] Is there something wrong with this RTC interrupt?

John Baraclough j_baraclough at zetnet.co.uk
Fri Jan 4 08:58:01 PST 2008


As Bob has said it is the SEI() at the end of your interrupt handler 
that is probably the culprit. The purpose of the '#pragma 
interrupt_handler' is to force the compiler to put a RETI instruction at 
the end of the function rather than a normal RET. Have a look at the 
list file and see where the SEI() instruction is in comparison to the 
RETI and you'll see the problem immediately.

Since you have obviously once done a lot of assembler programming, it 
would help you a great deal if you downloaded  the AVR instruction set 
document from the Atmel website:

 http://www.atmel.com/dyn/resources/prod_documents/doc0856.pdf


John



Scott Kelley wrote:
> I'm well in over my head with this stuff...
>  
> I don't understand why cli does nothing...
>  
> I've forgotten more than I ever knew about machine language... what 
> would be occurring if "The second one reenables ints BEFORE the regs 
> are popped"?  What would be the way to deal with this?
>  



More information about the Icc-avr mailing list