Hey thanks for the quick reply!
Sorry I was not being specific enough. I work with some of the newer devices with true vectored interrupts (PIC18F26K83).
I generally have an good grasp of how interrupts work with these newer PICs. Have been working with them for quite some time.
if you use one of the newer PIC18 (K42 onward) you can also use the TRUE Vectored Interrupt Controller. Every interrupt source has its own routine, with nested interrupts and individual priority. High and low don't have any significance.
Cool still does not answer the initial question.
What I do understand from the vectored interrupt and generally the whole interrupt saga of PICs is:
You can set priority. High Priority - Low Priority Interrupts.
Because it´s a true vectored interrupt. I can set per peripheral base interrupts.
If multiple interrupts of the same priority appear then I do NOT need to do a software SELECT - CASE to find the sourse,
rather the interrupts will be handled by their natural order. But IF and only if I want to do a software interrupt handling then this is also possible.
According to the datasheet of PIC18F26K83 page 109 Quote:
When more than one interrupt with the same user
specified priority level are requested, the priority
conflict is resolved by using a method called “Natural
Order Priority”. Natural order priority is a fixed priority
scheme that is based on the Interrupt Vector Table.
Table 9-2 shows the natural order priority and the
interrupt vector number assigned for each source.
Still... when you write the routine you got to define a priority!
void __interrupt(irq(source_x),
high_priority) mySource_xInt ( void )
and
void __interrupt(irq(source_x),
low_priority) mySource_xInt ( void )
So I ask... Is the defining the priority bit in the corresponding IPRx register going to have an effect in which routine is executed?
Let´s say I come to a point of my program that I need to prioritize on interrupt above all others.
I normally use a low priority for that interrupt but as soon as I run a special routine I change the interrupt priority to high.
Do I need to define both ISRs or not? A high and a low priority ISR.