关于DSP2812三级中断机制的学习总结

2019-08-07 17:16发布

本帖最后由 DIYfashaoyou 于 2012-12-27 20:02 编辑

DSP2812共有3级中断:外设级、PIE级、CPU级。对于某一个具体的外设中断请求,任意一级的不许可,CPU最终都不会执行该外设中断。
    外设级中断总结:(1)外设中断的屏蔽,需要将与该中断相关的外设寄存器的中断使能位置1:EvaRegs.EVAIMRA.bit.T1PINT=1;//外设中断未屏蔽 (2)外设中断标志位的清除:EvaRegs.EVAIFRA.bit.T1PINT=1;
    PIE级中断:(1)PIE中断的使能,就是将其相应组的使能寄存器PIEIERx的相应位进行置位:PieCtrlRegs.PIEIER2.all=M_INT4;//M_INT4=0x0008    (2)PIE应答寄存器(PIEACK)相关位的清除:PieCtrl.PIEACK.bit.ACK2=1,以使得CPU能够响应同组的其它中断。
   CPU级中断: 当外设的中断请求发送到CPU时,CPU级中与INTx相关的中断标志位就会被置位,若IER中的相关位被使能,并且INTM的值为0,则中断就会被CPU使能。
友情提示: 此问题已得到解决,问题已经关闭,关闭后问题禁止继续编辑,回答。
该问题目前已经被作者或者管理员关闭, 无法添加新回复
3条回答
孙鑫1234
1楼-- · 2019-08-07 19:37
你好  我遇到个问题 就是不写EvaRegs.EVAIMRA.bit.T1PINT=1;这句也能发生中断  但是写EvaRegs.EVAIMRA.bit.T1PINT=0这句中断就发生不了了  啥原因啊  谢谢
zhangmangui
2楼-- · 2019-08-07 20:01
孙鑫1234 发表于 2013-12-5 13:32
你好  我遇到个问题 就是不写EvaRegs.EVAIMRA.bit.T1PINT=1;这句也能发生中断  但是写EvaRegs.EVAIMRA.bit. ...

难道是默认情况是自动清除的
孙鑫1234
3楼-- · 2019-08-08 00:34
不知道了那就

一周热门 更多>