[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 |
Hi
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
thanks
Henko
- [avr-gcc-list] Problem with atmega162 timer interrupt,
Henko Gouws <=