Tool/software:
Hi,
i am using TMS320F280049 and need some clarification on the disable_interrupt() routine of the driverlib
This routine is used to disable a single interrupt source in the interrupt controller.
For this purpose, the routine performs the following steps:
1) Disable interrupts globally
2) Clear the PIEIER bit for the interrupt
3) Wait 5 cycles to make sure that any propagating interrupt has reached the
CPU IFR register
4) Clear the CPU IFR bit for the interrupt's PIE group
5) Clear the PIEACK bit for the interrupt's PIE group
6) Enable interrupts globally
I wonder if this procedure, especially steps 4 and 5, can cause the loss of other interrupts of the same group.
For example, in my project I use both SCIA_RX and SCIB_RX interrupts, which are in the same group (GROUP 9).
Sometimes, I have to disable only interrupt SCIB_RX for a short time, without losing interrupt SCIA_RX, can I use the routine disable_interrupt() without worries?
Futhermore, if I disable SCIB_RX, do I risk losing one?
TO CONCLUDE:
I need to disable interrupt SCIB_RX without losing ANY interrupts (neither SCIA_RX nor SCIB_RX). Is the disable_interrupt() routine fit for the purpose? Or should another procedure be used?
Thanks in advance
Massimo Ceschi