跳至主要內容
Knowledgebase
Home
Renesas Electronics Taiwan - Knowledgebase

How to issue a high-priority interrupt in a V850/IA2 device?

Latest Updated:03/20/2017

Question:

In a V850/IA2 device, I would like to issue a high-priority interrupt while servicing of a timer interrupt through multiple interrupt processing.
The timer interrupt function includes a multiple interrupt declaration (_multi_interrupt), but it does not seem to be working.
It is programmed to service the high-priority interrupt after the timer interrupt service has been completed.

Answer:

Multiple interrupt declarations are used only to prepare for handling of multiple interrupts (in addition to normal interrupt servicing, this includes saving information such as return addresses saved to EIPC and EIPSW).

Since the correct timing for acknowledging multiple interrupts differs among different systems, in this case "__EI();" should be used to enable interrupts, via the timing by which multiple interrupts are enabled.
If this is overlooked, the problem you refer to will occur.

Also, when quitting an interrupt function that includes such a multiple interrupt declaration, interrupt-disabled status must be set.
Therefore, first execute __EI(); then execute __DI(); before terminating the interrupt.

Suitable Products
V850 Family