dsp主控程序的两个中断怎么办
1个回答
2014-05-09 · 知道合伙人IT服务行家
关注
展开全部
TI公司的DSP的中断机构操作规则比较复杂,需具体查有关资料。因条件限制我现在只能查到240的资料,但据我所知240和2407很接近,可能是一样的。故我下面按240叙述。即使有细节不同,道理是一样的。然后您再查2407的资料对一下,如有不同的细节可自己更改。
还有,240中“定时器3的周期中断”不是用int2而是用int3,故不符合您所述的问题了。或许2407有不同?或许您的笔误?不管如何,我下面按照假定您用到了另一个也用int2的中断源,来叙述。
具体您说的情况:
中断向量表中,int2的入口位置写一个跳转指令,跳到您所安排的“定时器1的周期中断”和“另一个int2中断”的共用中断服务程序入口处。
该共用中断服务程序入口处要做的操作是:
(1)保护现场(下面的操作中立即要用到的必须在这里保护,其余的,可以分别在分支中保护);
(2)读取EVIVRA(这是事件管理器专为区分各个中断源而设的代号的存放处。注意即使不需要区分中断源,也应该读取一次EVIVRA,因为只有读了它,才会清除事件管理器中的该次中断的挂号信息);
(3)判断:如果读得的代号是0027h,说明是“定时器1的周期中断”,可跳转到该中断的分支程序去,否则,跳转到“另一个int2中断”的分支程序去。
还有,240中“定时器3的周期中断”不是用int2而是用int3,故不符合您所述的问题了。或许2407有不同?或许您的笔误?不管如何,我下面按照假定您用到了另一个也用int2的中断源,来叙述。
具体您说的情况:
中断向量表中,int2的入口位置写一个跳转指令,跳到您所安排的“定时器1的周期中断”和“另一个int2中断”的共用中断服务程序入口处。
该共用中断服务程序入口处要做的操作是:
(1)保护现场(下面的操作中立即要用到的必须在这里保护,其余的,可以分别在分支中保护);
(2)读取EVIVRA(这是事件管理器专为区分各个中断源而设的代号的存放处。注意即使不需要区分中断源,也应该读取一次EVIVRA,因为只有读了它,才会清除事件管理器中的该次中断的挂号信息);
(3)判断:如果读得的代号是0027h,说明是“定时器1的周期中断”,可跳转到该中断的分支程序去,否则,跳转到“另一个int2中断”的分支程序去。
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询