引用第3楼skynothing于2009-02-25 20:55发表的 :
感谢楼主,不过有个疑惑想问一下,楼主能否解释下为什么要在中断处理函数 void __irq Eint_Sv(void) 里面,这样写
a=rSRCPND;
rSRCPND=a;
b=rINTPND;
rINTPND=b;
.......
是啊,我也很困惑
如果说
a=rSRCPND这句话是说把中断源寄存器的值赋给a;
那rSRCPND=a;干嘛还要把a值赋给中断源寄存器呢,难道上一句赋值后,中断源寄存值会改变?
即使此时又有中断,那rSRCPND=a就是要防止引起别的中断不成了?
b=rINTPND;
rINTPND=b;是不是同样的道理呢?