TMS320F24x的实时多中断任务处理
产生两路PWM波形的任务。定时器T2和定时器T3各自周期中断的向量偏移地址分别为002BH和002FH。当有INT3级中断申请时,在对应的中断服务程序(ISR)中判断中断的向量偏移地址,以此来确定具体是产生了定时器T2中断还是定时器T3中断,再转入定时器T2/T3相应的子中断服务程序。在中断服务程序中,需要根据在中断程序中对各种寄存器的使用情况,编写中断保护和中断恢复代码,即在进入ISR时,要对这些寄存器变量进行堆栈保护;在ISR完成时,要对这些寄存器变量进行堆栈恢复。另外,在编写中断服务程序时,要注意对各寄存器的中断标志位和中断屏蔽位进行适当的处理,为进入下一次中断做准备。以下即为给出的机器人中断服务程序的核心代码,主要对两个定时器中断源共享INT3中断级的中断处理进行详尽地阐述。对于INT1和INT2这两个中断任务,由于无多中断源共享的问题,在进行中断处理时比较简单,直接进入相应的ISR即可。相应的中断处理程序请见网络补充版。
《TMS320F24x的实时多中断任务处理(第4页)》
本文链接地址:http://www.oyaya.net/fanwen/view/164989.html
结语
在利用DSP进行数字化控制的过程中,必然要使用到较多的中断才能圆满完成对复杂控制系统的控制任务。F240作为DSP TMS320F24x系列的典型代表,掌握F240的中断处理方法,对TMS320F24x系列的TMS320F241/F243/C242以及TMS320LF2406/LF2407等芯片同样具有参考意义。因此,这种处理方法还具有一定的通用性。笔者将该处理方法应用到基于TMS320F240的主从遥控作业机器人控制系统的软件开发中。经实践证明,这能够满足机器人的实时多中断任务处理的要求,并取得了良好的实际效果。
《TMS320F24x的实时多中断任务处理(第4页)》