TMS320F28x源码解读:2.2 定时器0 中断设置

2019-08-02 16:47发布

定时器0 中断设置定时器0 中断设置由以下几个步骤组成。
1)定时器0 中断的基本条件
除了对周期寄存器(PRDH:PRD)及定时器分频器(TPRH:TPR)进行必要的设置之外,使能定时器0 中断有两条必须的指令:

CpuTimer0Regs.TCR.bit.TSS= 0; //启动定时器
Timer->RegsAddr->TCR.bit.TIE=1; //使能定时器中断
如果缺少上面两条指令中的一条,将不会产生中断。
2)确定中断向量的入口地址
主程序通过“DSP281x_PieVect.c”文件中的InitPieVectTable()函数,已经为PIE 向量表中的所有中断向量配置了对应向量的入口地址。如果针对某一个外设中断专门有一个中断服务程序,则这个中断服务程序的入口地址必须取代前面配置的入口地址,它由下面的指令完成:
EALLOW; //允许访问受保护的寄存器
PieVectTable.TINT0= &cpu_timer0_isr; //取cpu_timer0_isr 地址赋值给
//TINT0中断向量
EDIS; //禁止访问受保护的寄存器
上面指令中,cpu_timer0_isr()函数是针对TINT0 中断向量的一个中断服务程序,&cpu_timer0_isr 是该程序的入口地址。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。