Uncertainty in the datasheet

Go To Last Post
5 posts / 0 new
Author
Message
#1
  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi, all!

In datasheet of XMega "8-bit AVR XMEGA A Microcontroller" 8077H"“AVR"“12/09 we read (at page 124):

"If an interrupt condition occurs while another higher priority interrupt is executing or pending, the interrupt flag will be set and remembered until the interrupt has priority. If an interrupt condition occurs while the corresponding interrupt is not enabled, the interrupt flag will be set and remembered until the interrupt is enabled, or the flag is cleared by software. Similarly, if one or more interrupt conditions occur while global interrupts are disabled, the corresponding interrupt flag will be set and remembered until global interrupts are enabled. All pending interrupts are then executed according to their order of priority."

It may be understood as follows:
If high priority interrupt occur, but this interrupt is disabled, then "the interrupt flag will be set and remembered until the interrupt is enabled, or the flag is cleared by software" and this interrupt became pending. Then low priority interrupt occur and this interrupt is enabled. But because there is "higher priority interrupt is [executing or] pending, the interrupt flag will be set and remembered until the interrupt has priority".

I hope that it is wrong, but it is not certainly.

I hope that low priority interrupt will processed immediately in this case.

Ilya

PS. Sorry my english

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Yes, the low priority interrupt will execute immediately and not wait for the high priority one.

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

Hi!

mojo-chan wrote:
Yes, the low priority interrupt will execute immediately and not wait for the high priority one.

Is this practice or you read this somewhere?

Ilya

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

501-q wrote:
PS. Sorry my english

Не беспокойся, будь счастлив! :D

"I may make you feel but I can't make you think" - Jethro Tull - Thick As A Brick

"void transmigratus(void) {transmigratus();} // recursio infinitus" - larryvc

"It's much more practical to rely on the processing powers of the real debugger, i.e. the one between the keyboard and chair." - JW wek3

"When you arise in the morning think of what a privilege it is to be alive: to breathe, to think, to enjoy, to love." -  Marcus Aurelius

  • 1
  • 2
  • 3
  • 4
  • 5
Total votes: 0

501-q wrote:
Hi!
mojo-chan wrote:
Yes, the low priority interrupt will execute immediately and not wait for the high priority one.

Is this practice or you read this somewhere?

Ilya

Experience. I think I read it somewhere too, like maybe in one XMEGA app notes, but I can't find it anywhere now. Try reading http://www.atmel.com/Images/doc8...