|
1.软件中断与硬件中断
C5402同时支持硬件中断和软件中断。硬件中断分为外部中断和内部中断两种。来自外部中断口的硬件中断有RS、NMI、INT0-INT3等6个中断源。来自片上的外设中断有TINT0、TINT1、HPIINT、BRINT0、BXINT0、BRINT1、BXINT1、DMAC0-DMAC6。
软件中断由程序指令触发,包括:INTR、TRAP、RESET。
INTR使用户可以用软件执行任何的中断服务程序。当ISR执行时,相应的IFR中的位被清零,INTM被置1.INTR指令是不可屏蔽的。
TRAP指令与INTR唯一的不同在于TRAP指令不影响INTM位。
RESET指令产生不可屏蔽的软件复位。MP/MC在软件复位时不被采样。使用RESET指令复位与硬件复位对IPTR和片上外设的初始化有所不同。RESET指令不受INTM位影响,但该指令执行时会将INTM位置1。
2.不可屏蔽中断与可屏蔽中断
不可屏蔽中断是指只要该中断信号产生了,CPU就一定会响应这个中断。这类中断包括所有的软件中断和两个外部硬件中断:RS和NMI。
可屏蔽中断是指可以实用软件屏蔽或使能的中断。出RS和NMI之外,所有的硬件中断都是可屏蔽中断。
3.中断优先级
当多个硬件中断同时触发时,C5402按照优先级队列处理。当一个中断的优先级为1时,其拥有最高的优先级。对于C5402来说,有14个固定中断优先级,中断优先级如下表所示:
中断号 优先级 中断名称 中断地址 功能
0 1 RS/SINTR 0 复位(硬件/软件)
1 2 NMI/SINTR 4 不可屏蔽中断
2 — SINT17 8 软件中断#17
3 — SINT18 C 软件中断#18
4 — SINT19 10 软件中断#19
5 — SINT20 14 软件中断#20
6 — SINT21 18 软件中断#21
7 — INT22 1C 软件中断#22
8 — SINT23 20 软件中断#23
9 — SINT24 24 软件中断#24
10 — SINT25 28 软件中断#25
11 — SINT26 2C 软件中断#26
12 — SINT27 30 软件中断#27
13 — SINT28 34 软件中断#28
14 — SIN29 38 软件中断#29
15 — SIN30 3C 软件中断#30
16 3 INT0/SINT0 40 外部中断0
17 4 INT1/SINT1 44 外部中断1
18 5 INT2/SINT2 48 外部中断2
19 6 TINT0/SINT3 4C 定时器0中断
20 7 BRINT0/SINT4 50 串口0 接收中断
21 8 BXINT0/SINT5 54 串口0 发送中断
22 9 DMAC0/SINT6 58 DMA 通道0 中断
23 10 TINT1/DMAC1/SINT7 5C 定时器1中断(默认)/DMA通道1中断
24 11 INT3/SINT8 60 外部中断3
25 12 HPINT/SINT9 64 HPI 中断
26 13 BRINT1/DMAC2/SINT10 68 串口1 接收中断(默认)/ DMA通道2中断
27 14 BXINT1/DMAC3/SINT11 6C 串口1 发送中断(默认)/ DMA通道3中断
28 15 DMAC4/SINT12 70 DMA 通道4中断
29 16 DMAC5/SINT13 74 DMA 通道5中断
30~31 78~7F 保留
|
|