TI中文支持网
TI专业的中文技术问题搜集分享网站

DSP28069程序运行时会自动进SCIRXINTA_ISR中断

Ti工程师您好:

我使用的是DSP28069,工程使用更改中断优先级的功能,把F2806x_SWPrioritizedDefaultIsr.c、F2806x_SWPrioritizedPieVect.c、F2806x_SWPrioritizedIsrLevels.h这几个文件替换后,程序运行的工程中会随机的进入SCIRXINTA_ISR中断,我确定没有使能中断,

PieCtrlRegs.PIEIER1.bit.INTx1= 0;并且也没有用到这个中断。请问这个问题怎么解决。

#if (G91PL != 0)

__interrupt void SCIRXINTA_ISR(void) // SCI-A
{
// Set interrupt priority:
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
IER |= M_INT9;
IER &= MINT9; // Set "global" priority
PieCtrlRegs.PIEIER9.all &= MG91; // Set "group" priority
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
EINT;

// Insert ISR Code here…….

// Restore registers saved:
DINT;
PieCtrlRegs.PIEIER9.all = TempPIEIER;

// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
__asm (" ESTOP0");
for(;;);

}
#endif

期待您的回复,谢谢

Green Deng:“更改中断优先级”是怎么做的?C2000系列是不支持更改中断优先级的,只能通过中断嵌套的方式达到更改中断优先级的目的。可以参考:
processors.wiki.ti.com/…/Interrupt_Nesting_on_C28x

Ti工程师您好:

我使用的是DSP28069,工程使用更改中断优先级的功能,把F2806x_SWPrioritizedDefaultIsr.c、F2806x_SWPrioritizedPieVect.c、F2806x_SWPrioritizedIsrLevels.h这几个文件替换后,程序运行的工程中会随机的进入SCIRXINTA_ISR中断,我确定没有使能中断,

PieCtrlRegs.PIEIER1.bit.INTx1= 0;并且也没有用到这个中断。请问这个问题怎么解决。

#if (G91PL != 0)

__interrupt void SCIRXINTA_ISR(void) // SCI-A
{
// Set interrupt priority:
volatile Uint16 TempPIEIER = PieCtrlRegs.PIEIER9.all;
IER |= M_INT9;
IER &= MINT9; // Set "global" priority
PieCtrlRegs.PIEIER9.all &= MG91; // Set "group" priority
PieCtrlRegs.PIEACK.all = 0xFFFF; // Enable PIE interrupts
EINT;

// Insert ISR Code here…….

// Restore registers saved:
DINT;
PieCtrlRegs.PIEIER9.all = TempPIEIER;

// Next two lines for debug only to halt the processor here
// Remove after inserting ISR Code
__asm (" ESTOP0");
for(;;);

}
#endif

期待您的回复,谢谢

user4129436:

回复 Green Deng:

您好:可能我对这个理解的不是很充分,我是按照controlSUITE中的sw_prioritized_interrupts这个例程配置的,我就是把F2806x_SWPrioritizedDefaultIsr.c、F2806x_SWPrioritizedPieVect.c、F2806x_SWPrioritizedIsrLevels.h这几个文件替换后实现的,应该和您说的意思是一样的,正常配置的中断可以实现,就是随机的进入interrupt void SCIRXINTA_ISR这个中断。我担心哪里配置的不合理,以后还会进入其他中断,导致以后程序不稳定。希望您能给指点一下,谢谢

赞(0)
未经允许不得转载:TI中文支持网 » DSP28069程序运行时会自动进SCIRXINTA_ISR中断
分享到: 更多 (0)