我从网站上载了一些例子,学习2812。
没有电路板,只进行软件仿真。
其中一个定时器0中断,发现不进中断。
情况是这样的,观察定时器可以计数。
本来我定时器周期设为0XFFFFFFFF.
可是计到0以后,并不恢复为0XFFFFFFFF,
而是0X5F5E100.并且计到0以后,也不进中断。
请高手指教,谢谢!我已经被这个问题困扰了好久。
下面是主程序:
#include \"DSP281x_Device.h\" // DSP281x Headerfile Include File
#include \"DSP281x_Examples.h\" // DSP281x Examples Include File
interrupt void cpu_timer0_isr(void);
void main(void)
{
InitSysCtrl();
DINT;
InitPieCtrl();
IER = 0x0000;
IFR = 0x0000;
InitPieVectTable();
EALLOW; // This is needed to write to EALLOW protected registers
PieVectTable.TINT0 = &cpu_timer0_isr;
EDIS; // This is needed to disable write to EALLOW protected registers
InitCpuTimers(); // For this example, only initialize the Cpu Timers
ConfigCpuTimer(&CpuTimer0, 100, 1000000);
StartCpuTimer0();
IER |= M_INT1;
PieCtrlRegs.PIEIER1.bit.INTx7 = 1;
EINT; // Enable Global interrupt INTM
ERTM; // Enable Global realtime interrupt DBGM
for(;:'(
{asm(\" nop\":'(;
asm(\" nop\":'(;
}
}
interrupt void cpu_timer0_isr(void)
{
CpuTimer0.InterruptCount++; //断点在这,但运行不到这里
asm(\" nop\");
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
}
//===========================================================================
// No more.
//=========================================================================== |