AnsweredAssumed Answered

How to override a Ext. Interrupt over another Ext. Interrupt?

Question asked by Akshay Daga on May 10, 2016
Latest reply on May 16, 2016 by Martin Kovar

I am using 2 External Interrupts (EIRQ):

1st EIRQ from SIUL_Ext_Int_isr0_7 having VectorNo.=41 with psrPriority=4 (configured for both Rising & Falling Edge)

and

2nd EIRQ from SIUL_Ext_Int_isr8_15 having Vector No.=42 with psrPriority=1 (configured for both Rising & Falling Edge)

 

In my program, If Rising edge comes on 1st Ext. Interrupt Pin. while 2nd Ext. Interrupt is executing, 1st Interrupt gets masked (1st EIRQ doesn't get envoked) and Vice Versa is also true.

(Though Priority of 1st EIRQ is 4 and 2nd EIRQ is 1)

 

I want,

If Rising edge comes on 1st Ext. Interrupt Pin. while 2nd Ext. Interrupt is executing, 2nd Ext. Interrupt should pause, 1st Ext. Interrupt should get envoked and after completion of 1st Ext. Interrupt 2nd Ext. Interrupt should resume. 

(I want 1st Ext. Interrupt to overcome 2nd Ext. Interrupt) or other way round.

How can I do that?

 

what is significance of following line?

INTC.CPR.R = 0;

I tried this above line but didn't get desired result.

 

 

/******************************************************************************************************/

INTC_InstallINTCInterruptHandler(SIUL_Ext_Int_isr0_7,41,4); /*vector41 for EIRQ0-7 */

INTC_InstallINTCInterruptHandler(SIUL_Ext_Int_isr8_15,42,1); /*vector42 for EIRQ8-15 */

/******************************************************************************************************/

 

and How can I enable Eternal Interrupt using "WKUP"?

 

Please help me through this.

Outcomes