while(1){ PauseInt(); // Set interrupt to hold off MainLoop_Check_FUNCTION(); // Process some code ResumeInt(); // resume interrupts tk_sleep(200*5); // Sleep process for 5 sec (while interrupts clear)}
Interrupt priority mask. Defines the current interrupt priority. Interrupt requests are inhibited for all
priority levels less than or equal to the current priority, except the edge-sensitive level-7 request,
which cannot be masked.
To guarantee that a level-sensitive interrupt request is acknowledged,
the interrupt source must keep the signal asserted until acknowledged by software. Level sensitivity must be selected
to bring the device out of stop mode with an IRQn interrupt.
Pins configured as edge-triggered are latched and need not remain asserted for interrupt generation. A pin
configured for edge detection can trigger an interrupt regardless of its configuration as input or output.
Interrupt requests generated in the EPORT module can be masked by the interrupt controller module.
Exception processing can be defined as the time from the detection of the fault
condition until the fetch of the first handler instruction has been initiated. It
consists of the following four major steps:
1. The processor makes an internal copy of the status register (SR) and then
enters supervisor mode by setting SR[S] and disabling trace mode by clearing
SR[T]. The occurrence of an interrupt exception also clears SR[M] and sets
the interrupt priority mask, SR[I] to the level of the current interrupt request.
2. ...
Now if you change the SR Interrupt priority mask explicitly, you probably can override that behavior, but that seems dangerous as it can lead to a lot of stack growth -- typically you want to only need to reserve stack space for one instance of each unique interrupt level's handlers... (I'm assuming you are not doing that.)
-- Rich
; ; 21: } ; 22: ; 23: ; 24: static __declspec(interrupt:5) void DMATIM0_ISR() ; 25: { ; 26: ; 0x00000000 _DMATIM0_ISR: ; DMATIM0_ISR: 0x00000000 0x40E746FC0005 strldsr #0x5 0x00000006 0x4E560000 link a6,#0 0x0000000A 0x598F subq.l #4,a7 ; ; 27: } ; 0x0000000C 0x4E5E unlk a6 0x0000000E 0x588F addq.l #4,a7 0x00000010 0x4E73 rte 0x00000012 0x51FC trapf