在arm 处理器中发生中断是在SRCPND中相应位将自动置位,对SRCPND等寄存器赋1表示清楚中断标志位。咋一看下面的代码是不是很别扭啊,其实不然这是一种比较有技巧的写法。
a=rSRCPND; //读取中断标志为中的值如1和2发生中断则为0b11
rSRCPND=a; //将0b11写入SRCPND中可以将1和2两个为清除
b=rINTPND;
rINTPND=b;
c=rEINTPEND;
rEINTPEND=c;
在arm 处理器中发生中断是在SRCPND中相应位将自动置位,对SRCPND等寄存器赋1表示清楚中断标志位。咋一看下面的代码是不是很别扭啊,其实不然这是一种比较有技巧的写法。
a=rSRCPND; //读取中断标志为中的值如1和2发生中断则为0b11
rSRCPND=a; //将0b11写入SRCPND中可以将1和2两个为清除
b=rINTPND;
rINTPND=b;
c=rEINTPEND;
rEINTPEND=c;