Splitting Interrupt Service Across Different Priority Levels - Infineon Technologies TC1728 User Manual

32-bit single-chip microcontroller
Table of Contents

Advertisement

for example, interrupt 14 is serviced, it can only be interrupted by requests with a priority
number higher than 17; therefore it will not be interrupted by requests from its own
priority group or requests with lower priority.
In
Figure
13-4, the interrupt request with priority number 13 can be said to form an
interrupt priority group with just itself as a member.
Setting ICR.CCPN to the maximum value 255 in each service routine has the same
effect as not re-enabling the interrupt system; all interrupt requests can then be
considered to be in the same group.
Interrupt priority groups demonstrate the power of the TC1728 priority-based interrupt-
ordering system. Thus the flexibility of interrupt priority levels ranges from all interrupts
in one group to each interrupt request building its own group, and to all possible
combinations in between.
Figure 13-4 Interrupt Priority Groups
13.8.4

Splitting Interrupt Service Across Different Priority Levels

Interrupt service can be divided into multiple ISRs that execute at different priority levels.
For example, the beginning stage of interrupt service may be very time-critical, such as
reading a data value within a limited time window after the interrupt request activation.
However, once the time-critical phase is past, there may still be more to do – for instance,
User's Manual
Interrupt, V1.4
Interrupt Vector Table
Priority
Group 2
Priority
Group 1
13-20
Interrupt System
PN = 255
PN = 18
PN = 17
PN = 16
PN = 15
PN = 14
PN = 13
PN = 12
PN = 11
PN = 10
MCA06184
TC1728
V1.0, 2011-12

Advertisement

Table of Contents
loading

Table of Contents