You got it!
That's what will happen.
And the order they are executed will depend on the order in the INT_LIST.
For instance ...
With the INT_LIST below ..., INT_INT will be the first handler executed, if it's flag is set.
Then it will do TMR0_INT next (if flagged).
If another INT_INT happens while it's in TMR0_INT, then it will wait until TRM1_INT has also finished before it goes back around and handles INT_INT again.
If the INT_INT really can't wait for TMR1_INT then you can add another INT_INT handler in-between so that it won't have to wait.Code:ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler INT_INT, _ToggleLED1, PBP, yes INT_Handler TMR0_INT, _ToggleLED2, PBP, yes INT_Handler TMR1_INT, _ClockCount, PBP, yes endm INT_CREATE ; Creates the interrupt processor ENDASM
It still calls the same handler for both of them.Code:ASM INT_LIST macro ; IntSource, Label, Type, ResetFlag? INT_Handler INT_INT, _ToggleLED1, PBP, yes INT_Handler TMR0_INT, _ToggleLED2, PBP, yes INT_Handler INT_INT, _ToggleLED1, PBP, yes INT_Handler TMR1_INT, _ClockCount, PBP, yes endm INT_CREATE ; Creates the interrupt processor ENDASM
hth,




Bookmarks