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.
我要测试RX中断(INT9.1)的中断程序能够打断外部中断3(INT12.1)的中断程序,但是从仿真来看,高优先级的RX中断抢占不了外部中断3呢?
外部中断3程序,用63hz去触发,用一些运算占周期的90%时间。
__interrupt void xint3_isr(void)
{
xintcnt++;
LED_H;
level = 1;
//Cla1ForceTask8andWait();
for(i=0;i<40000;i++)//63hz
{
result = 123456.789 * 789345.123;
}
LED_L;
level = 0;
// Acknowledge this interrupt to get more from group 1
PieCtrlRegs.PIEACK.all = PIEACK_GROUP12;
}
RX中断,为什么if (level == 1)的断点进不去,也就是抢占不了外部中断。
__interrupt void sciaRxFifoIsr(void)
{
//LED_L;
//if (GpioDataRegs.GPADAT.bit.GPIO16 == 1)
if (level == 1)
{
SCILED_H;
}
else
{
SCILED_L;
}
SCI_RXbuf[i] = SciaRegs.SCIRXBUF.all;
i++;
// SCI_RXbuf[i] = SciaRegs.SCIRXBUF.all;
// i++;
// SCI_RXbuf[i] = SciaRegs.SCIRXBUF.all;
// i++;
// SCI_RXbuf[i] = SciaRegs.SCIRXBUF.all;
// i++;
if (i >= 4)
{
i = 0;
}
SciaRegs.SCIFFRX.bit.RXFFOVRCLR=1; // Clear Overflow flag
SciaRegs.SCIFFRX.bit.RXFFINTCLR=1; // Clear Interrupt flag
PieCtrlRegs.PIEACK.all|=0x100; // Issue PIE ack
}