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;
}