ARM中断函数配置问题

[复制链接]
2462|0
 楼主| kingjie 发表于 2007-5-5 21:42 | 显示全部楼层 |阅读模式
__inline&nbsp;unsigned&nbsp;int&nbsp;AT91F_AIC_ConfigureIt&nbsp;(<br />&nbsp;&nbsp;&nbsp;&nbsp;AT91PS_AIC&nbsp;pAic,&nbsp;&nbsp;//&nbsp;arg&nbsp;pointer&nbsp;to&nbsp;the&nbsp;AIC&nbsp;registers<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;irq_id,&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;//&nbsp;arg&nbsp;interrupt&nbsp;number&nbsp;to&nbsp;initialize<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;priority,&nbsp;&nbsp;&nbsp;//&nbsp;arg&nbsp;priority&nbsp;to&nbsp;give&nbsp;to&nbsp;the&nbsp;interrupt<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;src_type,&nbsp;&nbsp;&nbsp;//&nbsp;arg&nbsp;activation&nbsp;and&nbsp;sense&nbsp;of&nbsp;activation<br />&nbsp;&nbsp;&nbsp;&nbsp;void&nbsp;(*newHandler)&nbsp;(void)&nbsp;)&nbsp;//&nbsp;arg&nbsp;address&nbsp;of&nbsp;the&nbsp;interrupt&nbsp;handler<br />{<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;oldHandler;<br />&nbsp;&nbsp;&nbsp;&nbsp;unsigned&nbsp;int&nbsp;mask&nbsp;;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;oldHandler&nbsp;=&nbsp;pAic-&gtAIC_SVR[irq_id];<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;mask&nbsp;=&nbsp;0x1&nbsp;&lt&lt&nbsp;irq_id&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;//*&nbsp;Disable&nbsp;the&nbsp;interrupt&nbsp;on&nbsp;the&nbsp;interrupt&nbsp;controller<br />&nbsp;&nbsp;&nbsp;&nbsp;pAic-&gtAIC_IDCR&nbsp;=&nbsp;mask&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;//*&nbsp;Save&nbsp;the&nbsp;interrupt&nbsp;handler&nbsp;routine&nbsp;pointer&nbsp;and&nbsp;the&nbsp;interrupt&nbsp;priority<br />&nbsp;&nbsp;&nbsp;&nbsp;pAic-&gtAIC_SVR[irq_id]&nbsp;=&nbsp;(unsigned&nbsp;int)&nbsp;newHandler&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;//*&nbsp;Store&nbsp;the&nbsp;Source&nbsp;Mode&nbsp;Register<br />&nbsp;&nbsp;&nbsp;&nbsp;pAic-&gtAIC_SMR[irq_id]&nbsp;=&nbsp;src_type&nbsp;|&nbsp;priority&nbsp;&nbsp;;<br />&nbsp;&nbsp;&nbsp;&nbsp;//*&nbsp;Clear&nbsp;the&nbsp;interrupt&nbsp;on&nbsp;the&nbsp;interrupt&nbsp;controller<br />&nbsp;&nbsp;&nbsp;&nbsp;pAic-&gtAIC_ICCR&nbsp;=&nbsp;mask&nbsp;;<br /><br />&nbsp;&nbsp;&nbsp;&nbsp;return&nbsp;oldHandler;<br />}<br />这个函数具体在做什么?什么时候调用?为什么要返回oldHandler?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

5

主题

5

帖子

1

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