@floatsd
2016-05-14T20:50:09.000000Z
字数 1399
阅读 743
note_DSP
新建工程,添加文件(头文件,源文件,CMD文件)如下:
更改build option如下:
interrupt void cpu_timer0_isr(void) {
PieCtrlRegs.PIEACK.all = PIEACK_GROUP1;
CpuTimer0Regs.TCR.bit.TIF = 1;
CpuTimer0Regs.TCR.bit.TRB = 1;
if (nCount == 0) {
LEDS = uLBD; //将16进制数写入LED所在地址
uLBD++;
uLBD %= 16; //确保uLBD在16以内
}
nCount++;
nCount %= 194; //周期值为194个Timer周期
}
i | 小灯 | i | 小灯 | i | 小灯 | i | 小灯 |
---|---|---|---|---|---|---|---|
0 | 0000 | 1 | 0001 | 2 | 0010 | 3 | 0011 |
4 | 0100 | 5 | 0101 | 6 | 0110 | 7 | 0111 |
8 | 1000 | 9 | 1001 | 10 | 1010 | 11 | 1011 |
12 | 1100 | 13 | 1101 | 14 | 1110 | 15 | 1111 |
CpuTimer0Regs.PRD.all = 0xffff;
函数里的值;重复步骤5,6 观察实验现象。 简述CPU 定时器0中断的配置方法,给出定时器中断程序的流程图。
TIMER0中断为典型的PIE中断,中断程序流程图如下:
以定时器0、定时器1 的中断为例,试比较PIE级中断与CPU 级中断的异同?
TMS320F2812片内有3个32位通用定时器、这些定时器有一个32位计数器,当计数器递减计数到0时,产生一个中断,其中TIMER0中断为PIE中断,TIMER1中断直接连到CPU的INT13。
同:
异: