This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

TMS320F28377D: CPU2的外部中断配置问题

Part Number: TMS320F28377D
Other Parts Discussed in Thread: C2000WARE

我用CPU1设置GPIO口,在CPU2将那个GPIO设置为外部中断并打开中断,进不去中断函数。所以想请教一下正确的CPU2外部中断配置方法。下面是代码。

CPU1:

void main()
{
InitSysCtrl();
InitGpio();

DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();

GPIO_SetupPinMux(94, GPIO_MUX_CPU2, 0);
GPIO_SetupPinOptions(94, GPIO_INPUT, GPIO_QUAL6);

GpioCtrlRegs.GPCCTRL.bit.QUALPRD3=0xFF;

while(1);

}

CPU2:

void main()
{
InitSysCtrl();

DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();

EALLOW;
PieVectTable.XINT1_INT = &xint1_isr;
EDIS;

PieCtrlRegs.PIECTRL.bit.ENPIE = 1; // Enable the PIE block
PieCtrlRegs.PIEIER1.bit.INTx4 = 1; //外部中断1
IER |= M_INT1;
EINT;
ERTM;

GPIO_SetupXINT1Gpio(94);

XintRegs.XINT1CR.bit.POLARITY = 1; // Rising edge interrupt
XintRegs.XINT1CR.bit.ENABLE = 1; // Enable XINT1

while(1);
}

interrupt void xint1_isr(void)
{
GPIO_WritePin(67, 0);
DELAY_US(500000);
GPIO_WritePin(67, 1);

PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}