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: 直接debug和点击flash定时器中断执行频率不一致(程序刷在flash里面)

Part Number: TMS320F28377D

如题,我的代码中初始化了一个定时器0,但是在用debug下载程序和直接点刷写按钮的方式下,发现GPIO的反转速度是不一样的,代码如下:

Fullscreen
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
interrupt void cpu_timer0_isr(void);
void init_timer(){
// Interrupts that are used in this example are re-mapped to
// ISR functions found within this file.
EALLOW; // This is needed to write to EALLOW protected registers
PieVectTable.TIMER0_INT = &cpu_timer0_isr;
//PieVectTable.TIMER1_INT = &cpu_timer1_isr;
//PieVectTable.TIMER2_INT = &cpu_timer2_isr;
EDIS; // This is needed to disable write to EALLOW protected registers
InitCpuTimers();
// 200MHz CPU Freq, 1 second Period (in uSeconds)
ConfigCpuTimer(&CpuTimer0, 200, 500000);
// To ensure precise timing, use write-only instructions to write to the entire register. Therefore, if any
// of the configuration bits are changed in ConfigCpuTimer and InitCpuTimers (in F2837xS_cputimervars.h), the
// below settings must also be updated.
CpuTimer0Regs.TCR.all = 0x4000; // Use write-only instruction to set TSS bit = 0
IER |= M_INT1;
PieCtrlRegs.PIEIER1.bit.INTx7 = 1;
}
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX

 ,貌似点了绿色虫子的下载模式定时器时间才是对的,在测试中下载完成后我都断点重启过,结果一样。