+ -
当前位置:首页 → 问答吧 → 关于ARM中断挂起寄存器清除操作

关于ARM中断挂起寄存器清除操作

时间:2011-10-01

来源:互联网

在TQ2440的test程序中有一段关于中断挂起寄存器清除的操作:
__inline void ClearPending(int bit)
{
 register i;
 rSRCPND = bit; //
 rINTPND = bit; //
 i = rINTPND; //
}
 
__inline void ClearSubPending(int bit)
{
 register i;
 rSUBSRCPND = bit;//
 i = rINTPND;
}  
 
这两段代码中 i = rINTPND从代码的表面上来看是将INTPND读取到普通的寄存器中。但是从手册的资料中找不到读取INTPND会引起寄存器产生什么变化。请问这个读取起到什么作用?

作者: guoke25   发布时间: 2011-10-01

这个也不会,坐等高人解释。不过你可以去掉一下看看能不能工作。

作者: YAOZHENGUO2006   发布时间: 2011-10-03