为了及时响应、处理外界的异步事件,中断要求DSP暂停当前的工作,转而对外界异步事件作出处理,完成以后再继续当前的工作。
1.中断分类


2.PIE(外设中断扩展模块)


PIE单元将所有96个中断分为12个组,每个组负责8个外设或引脚中断。每个PIE单元都有一个中断标志寄存器PIEIFRx和中断使能寄存器PIEIERx,还有一个中断应答寄存器PIEACKx。
PIE将中断请求发到CPU后,CPU中断标志寄存器IFR中对应INTx将被置位
PIE模块工作流程

⭐3.中断向量表
中断矢量表,又称为中断地址,表明中断发生后,
若DSP响应中断,指令执行的地址。
4.PIE设置寄存器
- PIECTRL(控制寄存器)


- PIEACK(中断确认寄存器)


- PIEIERn(PIE组使能寄存器)


- PIEIFRn(PIF组标志寄存器)


#include “DSP2833x_Device.h” PieCtrlRegs.PIEIFR1.bit.INTx4 = 1; //manually set IFR for XINT1 in PIE group 1 PieCtrlRegs.PIEIER3.bit.INTx5 = 1; //enable EPWM5_INT in PIE group 3 PieCtrlRegs.PIEACK.all = 0x0004; //acknowledge the PIE group 3 PieCtrlRegs.PIECTRL.bit.ENPIE = 1; //enable the PIE
5.CPU中断设置寄存器
1.中断标志寄存器IFR

2.中断使能寄存器IER

3.全局中断使能位INTM

⭐6.中断服务程序ISR
- 中断服务程序是用户编写的,是对中断事件做出响应的子程序。
- CPU接收到中断请求并响应之后,就根据中断矢量内容转移到相应的中断服务程序ISR中。
- ISR在为中断所要求的任务服务之前需要保存和恢复寄存器的值,并且还要管理中断嵌套。