This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28388D: I want an interrupt to cut off the ISR of a current interrupt of the same group.

Part Number: TMS320F28388D

Tool/software:

Good morning, colleagues,

I need help with a feature I want to develop. Every 200us I have TIMER0 configured to execute an interrupt that executes a control loop of an encoder (which lasts normally 100us). The TIMER0 interrupt is from GROUP1 and it must be in that group because it needs a lot of priority. However, I want that every time by a GPIO Input, the execution of the program in the GPIO ISR routine (XINT1 ISR) is cut off, whether the program was running in the while(1) or in the TIMER0 ISR control loop. If the GPIO is activated when the process is in the while(1) (i.e. without attending the Timer0 ISR), it works fine, however, when it is in the Timer0 routine, it WAITS for the Timer0 ISR to finish and then already attends the GPIO ISR (XINT1 ISR). What I want is that this GPIO interrupt by XINT cuts the Timer0 ISR, and not that it waits to finish the TIMER0 ISR to execute the XINT ISR. Also, every time I enter the Timer0 ISR, I do an Interrupt_clearACKGroup(INTERRUPT_ACK_GROUP1); to make sure that if XINT occurs, the flag is activated.

I would like you to help me with this issue, I look forward to your response. Have a nice day.

Best regards,
Pedro