[Top][All Lists]

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

Re: [avr-gcc-list] interrupts and signals (again)

From: David Kelly
Subject: Re: [avr-gcc-list] interrupts and signals (again)
Date: Sat, 26 Mar 2005 11:00:01 -0600

On Mar 26, 2005, at 8:41 AM, Parthasaradhi Nayani wrote:

Firstly you need to get clarity on how interrupts are
handled by processors.
1. Priority of interrupts will come into picture only
when two or more interrupts occur at the same time.

On more advanced CPU's interrupts behave as Jamie was asking. That only a higher priority interrupt can suspend a lower priority handler in execution.

On microcontrollers where low cost and high volume is the name of the game it was once common to have only one interrupt vector, or none. Off the top of my head a Microchip 16C55x has one IRQ which shares the same vector as power up. One has to determine which event happened in software.

AVRs are pretty advanced with lots of IRQ vectors, most are self clearing.

IMHO if you are worrying about the amount of time your service routine requires to execute then its written wrong. The routine should be prepared that when its called it can do its thing quickly and jump back out. UART code should do nothing more than buffer data. Decode serial data outside of interrupt time.

I use SIGNAL() because my service routines execute quickly and I don't want an indeterminate state caused by stacking one IRQ on top of another.

David Kelly N4HHE, address@hidden
Whom computers would destroy, they must first drive mad.

reply via email to

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