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

[复制链接]
2876|3
 楼主| DIYfashaoyou 发表于 2012-12-26 23:48 | 显示全部楼层 |阅读模式
本帖最后由 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使能。
孙鑫1234 发表于 2013-12-5 13:32 | 显示全部楼层
你好  我遇到个问题 就是不写EvaRegs.EVAIMRA.bit.T1PINT=1;这句也能发生中断  但是写EvaRegs.EVAIMRA.bit.T1PINT=0这句中断就发生不了了  啥原因啊  谢谢
zhangmangui 发表于 2013-12-5 13:52 | 显示全部楼层
孙鑫1234 发表于 2013-12-5 13:32
你好  我遇到个问题 就是不写EvaRegs.EVAIMRA.bit.T1PINT=1;这句也能发生中断  但是写EvaRegs.EVAIMRA.bit. ...

难道是默认情况是自动清除的
孙鑫1234 发表于 2013-12-5 18:55 | 显示全部楼层
不知道了那就
您需要登录后才可以回帖 登录 | 注册

本版积分规则

24

主题

419

帖子

5

粉丝
快速回复 在线客服 返回列表 返回顶部