韦东山Linux嵌入式课程社区
直播中

李高胜

7年用户 204经验值
私信 关注

为什么清中断是往SRCPND、INTPND相应位写1?

       为什么给的例子里面清中断是往SRCPND、INTPND相应位写1,应该写0才对呀,
因为1代表的是请求,0才代表未请求,真想不通。求指点。

回帖(3)

王淑英

2019-8-21 09:50:17
2440芯片手册有!
举报

陈忠阳

2019-8-21 10:02:53
2440手册中,清中断是把相应位置0,例子貌似是错的。
void Timer0_Handle(void)
{
    /*
     * 每次中断令4个LED改变状态
     */
    if(INTOFFSET == 10)
    {
        GPFDAT = ~(GPFDAT & (0x7 << 4));
    }
    //清中断
    SRCPND = 1 << INTOFFSET;
    INTPND = INTPND;     
}
还有这儿INTPND=INTPND是什么意思,请不要再跟我说手册中有了,我需要的事程序的解释。
举报

朱翼

2019-8-21 10:14:26
明白了,的确芯片手册上有,但是说的不清楚。这是硬件的奇怪设计,对这几个寄存器写1表示清零。
举报

更多回帖

发帖
×
20
完善资料,
赚取积分