最近在调DSP的中断程序的时候,遇到了一个问题,代码如下,当 InitPieCtrl()到 InitPieVectTable()的几行代码在EALLOW外时,能正常触发中断,当这几行代码在EALLOW内时,编译不会报错,但不能触发中断。有朋友知道这是怎么回事吗?希望可以解答一下,谢谢。
void Interrupt_Init(void)
{
InitPieCtrl();
IFR=0X0000;
IER=0X0000;
InitPieVectTable();
EALLOW;
GpioIntRegs.GPIOXINT1SEL.bit.GPIOSEL=12;
PieVectTable.XINT1=&Press_Interrupt;
XIntruptRegs.XINT1CR.bit.ENABLE=1;
XIntruptRegs.XINT1CR.bit.POLARITY=0;
PieCtrlRegs.PIEIER1.bit.INTx4=1;
IER|=M_INT1;
EINT;
ERTM;
// XINT1是外部中断,第几组第几线是PIE中断,第几组是CPU中断,最后有个全局使能。
EDIS;
}