您现在的位置: 主页 > MCU > 单片机技术应用 > s3c2440 中断挂起寄存器INTPND -
本文所属标签:
为本文创立个标签吧:

s3c2440 中断挂起寄存器INTPND -

来源: 网络用户发布,如有版权联系网管删除 2018-09-06 

[导读]中断挂起寄存器INTOND包括32个比特位,其中每一个比特位均表示相应中断请求是否拥有最高优先级,它们处于等待中断服务状态并且没有被屏蔽。INTPNd寄存器在优先级仲裁结束之后,仅有一个比特位被置1,并且被置1的中断

中断挂起寄存器INTOND包括32个比特位,其中每一个比特位均表示相应中断请求是否拥有最高优先级,它们处于等待中断服务状态并且没有被屏蔽。INTPNd寄存器在优先级仲裁结束之后,仅有一个比特位被置1,并且被置1的中断请求向CPU产生IRQ,在执行IRQ中断服务时,可以读取寄存器来确定32个中断源中哪个中断源被执行。

本文引用地址: http://www.21ic.com/app/mcu/201808/784818.htm

同SRCPND一样,INTPND也需要在中断服务程序中加入清0操作,位于SRCPND寄存器清0操作之后。可以通过向INTPND寄存器写入一个数据对相应位清0.仅将需要位清除,其余保持原值不变。

清除INTPND寄存器时应该注意:INTPND寄存器通过写1清0。如果INTPND寄存器设置为1的比特位通过写0清0,那么INTPND寄存器和INTOFFSET寄存器可能在某种情况下获得不可预知的值。所以,不要对INTPND寄存器值为1的比特位写0。正确清除INTPND寄存器比特位的方法是向寄存器写INTPND寄存器写INTPND寄存器值。

另外:INTMOD中断模式寄存器中只能有一位设为1,即FIQ只能分配一个。

对于一般中断IRQ,可能同时有几个中断被触发,未被INTMSK寄存器屏蔽的中断经过比较后,选出优先级最高的中断,此中断在INTPND寄存器中的相应位被置1。然后CPU进入中断模式进行处理。中断服务程序可以通过读取INTPND寄存器或者INTOFFSET寄存器来确定中断源。




              查看评论 回复



嵌入式交流网主页 > MCU > 单片机技术应用 > s3c2440 中断挂起寄存器INTPND -
 

"s3c2440 中断挂起寄存器INTPND -"的相关文章

网站地图

围观()