[Top][All Lists]

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

[avr-gcc-list] Problem with atmega162 timer interrupt

From: Henko Gouws
Subject: [avr-gcc-list] Problem with atmega162 timer interrupt
Date: Mon, 13 Aug 2007 23:06:46 +0200


I have used the 90s8515 for a home alarm system and it worked fine.  I used
a timer0 overflow to emulate a simple scheduler etc.  The 90s8515 ran out of
code space (8k) and I had to switch to the atmega162 to handle more sensors
and conditions.

After encountering some porting problems I just wrote a small program that
toggles an LED.  This program worked on the 90s8515.  It does not work on
the atmega162.  If I use timing loops (not timer 0) then the LED toggles
nicely.  As soon as I call sei() then nothing seems to happen - even if the
timing loops are present - I assume that the interrupt prolog and epilog
might be incorrect and might cause the processor to hang or reset.  I do not
have an ICE.

Has anyone had similar problems with the atmega162 before?  I am using the
portable winavr (last updated in April 2006 I think) and this compiler has
worked well with the at90s8515.

I have verified that the mcu = atmega162 works because the old register
names of the 90s8515 are not accepted.

If I understand correctly: There seems to be a difference in the interrupt
vectors of the atmega162 and the 90s8515 - the 90s8515 interrupt vectors are
short vectors of 8bit each and the atmega162 vectors are 16 bit vectors.
Could this be the reason?

Any help appreciated


reply via email to

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