8XC251SA, SB, SP, SQ USER’S MANUAL
6-14
6.7.2.4
Blocking Conditions
If all enable and priority requirements have been met, a single prioritized interrupt request at a
time generates a vector cycle to an interrupt service routine (refer to the CALL instructions in Ap-
pendix A, “Instruction Set Reference”). There are three causes of blocking conditions with hard-
ware-generated vectors:
1.
An interrupt of equal or higher priority level is already in progress (defined as any point
after the flag has been set and the RETI of the ISR has not executed).
2.
The current polling cycle is not the final cycle of the instruction in progress.
3.
The instruction in progress is RETI or any write to the IE0, IPH0, or IPL0 registers.
Any of these conditions blocks calls to interrupt service routines. Condition two ensures the in-
struction in progress completes before the system vectors to the ISR. Condition three ensures at
least one more instruction executes before the system vectors to additional interrupts if the in-
struction in progress is a RETI or any write to IE0, IPH0, or IPL0. The complete polling cycle is
repeated every four state times.
6.7.2.5
Interrupt Vector Cycle
When an interrupt vector cycle is initiated, the CPU breaks the instruction stream sequence, re-
solves all instruction pipeline decisions, and pushes multiple program counter (PC) bytes onto the
stack. The CPU then reloads the PC with a start address for the appropriate ISR. The number of
bytes pushed to the stack depends upon the INTR bit in the UCONFIG1 configuration byte (see
Figure 4-4 on page 4-7). The complete sample, poll, request and context switch vector sequence
is illustrated in the interrupt latency timing diagram (Figure 6-5
)
.
NOTE
If the interrupt flag for a level-triggered external interrupt is set but denied for
one of the above conditions and is clear when the blocking condition is
removed, then the denied interrupt is ignored. In other words, blocked interrupt
requests are not buffered for retention.
Содержание 8XC251SA
Страница 2: ......
Страница 3: ...May 1996 8XC251SA 8XC251SB 8XC251SP 8XC251SQ Embedded Microcontroller User s Manual...
Страница 18: ......
Страница 19: ...1 Guide to This Manual...
Страница 20: ......
Страница 30: ......
Страница 31: ...2 Architectural Overview...
Страница 32: ......
Страница 41: ...3 Address Spaces...
Страница 42: ......
Страница 63: ...4 Device Configuration...
Страница 64: ......
Страница 81: ...5 Programming...
Страница 82: ......
Страница 102: ......
Страница 103: ...6 Interrupt System...
Страница 104: ......
Страница 120: ......
Страница 121: ...7 Input Output Ports...
Страница 122: ......
Страница 132: ......
Страница 133: ...8 Timer Counters and Watchdog Timer...
Страница 134: ......
Страница 153: ...9 Programmable Counter Array...
Страница 154: ......
Страница 170: ......
Страница 171: ...10 Serial I O Port...
Страница 172: ......
Страница 187: ...11 Minimum Hardware Setup...
Страница 188: ......
Страница 197: ...12 Special Operating Modes...
Страница 198: ......
Страница 206: ......
Страница 207: ...13 External Memory Interface...
Страница 208: ......
Страница 239: ...14 Programming and Verifying Nonvolatile Memory...
Страница 240: ......
Страница 250: ......
Страница 251: ...A Instruction Set Reference...
Страница 252: ......
Страница 390: ......
Страница 391: ...B Signal Descriptions...
Страница 392: ......
Страница 400: ......
Страница 401: ...C Registers...
Страница 402: ......
Страница 436: ......
Страница 437: ...Glossary...
Страница 438: ......
Страница 446: ......
Страница 447: ...Index...
Страница 448: ......
Страница 458: ......