打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
中断寄存器详解
中断寄存器详解
2010-09-12 22:00
●SUBSRCPND寄存器:它用来表示INT_RXD0、INT_TXD0等中断是否发生(注:这些中断是某一大类中断中的子类),每位对应一个中断。当这些中断发生并且没有被INTSUBMSK寄存器屏蔽,则它们中的若干位将汇集出现在SRCPND寄存器的某一位上。要清除中断,往此寄存器中某位写1。


●INTSUBMSK寄存器:与SUBSRCPND寄存器对应,它用来屏蔽SUBSRCPND寄存器所标识的中断。INTSUBMSK寄存器中某位设置1时,对应的中断被屏蔽。


●SRCPND寄存器:它每一位被用来表示一个/一类中断是否发生。要清除某一位,往此位写1,具体参考数据手册。


●INTMSK寄存器:与SRCPND寄存器对应,用来屏蔽SRCPND寄存器所标识的中断。INTMSK寄存器中某位被设为1时,对应的中断被屏蔽,它只能屏蔽IRQ中断,不能屏蔽FIQ。


●INTMOD寄存器:它某位被设为1时,对应的中断被设为FIQ。同一时间,INTMOD只能有一位被设为1。


●PRIORITY寄存器:当有多个普通中断同时发生时,中断控制器选出最高优先级的中断,首先处理它。中断优先级通过7个仲裁器来完成,每个仲裁器基于一个位仲裁器模式控制(ARB_MODE,对应寄存器的[6:0]位)和选择控制信号(ARB_SEL,对应寄存器的[20:7]位)的两位来处理6个中断请求。


●INTPND寄存器:经过中断优先级选出优先级最高的中断后,这个中断在INTPND寄存器中的相应位被置1,随后CPU进入中断模式处理它,同一时间,此寄存器只有一位被置1。在ISR中,可以根据这个位确定是哪个中断,清除中断时,往此位写入1。


●INTOFFSET寄存器:用来表示INTPND寄存器中哪位被置1了,即INTPND寄存器中位[x]为1时,INTOFFSET寄存器的值为x(x为0-31)。清除SRCPND、INTPND寄存器时,INTOFFSET寄存器被自动清除。


★S3C2410提供了以下外部中断控制寄存器。
24个外部中断占用GPF0~GPF7(EINT0~EINT7)、GPG0~GPG15(EINT8~EINT23)。用这些脚做中断输入,则必须配置引脚为中断,并且不要上拉。


●EXTINT0~EXTINT2寄存器:设定EINT0~EINT23的触发方式。


●EINTFLT0~EINTFLT3寄存器:控制滤波时钟和滤波宽度。


●EINTPEND寄存器:这个是中断挂起寄存器,清除时要写1。当一个外部中断(EINT4~EINT23)发生后,那么相应的位会被置1。为什么没有EINT0~EINT3,看看SRCPND就知道了,里面没有EINT4~EINT23的位子,所以有了EINTPEND。


●EINTMASK寄存器:屏蔽中断用的,某位为1时,此次中断无效。
本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
超详细~S3C2410中断处理过程
ARM9(S3C2440)的中断系统——理论知识
S3C2440中断体系结构
s3c2440之外部中断
ARM中断原理, 中断嵌套的误区,中断号的怎么来的
这可能是最通俗易懂的方式讲解ARM中断原理以及中断嵌套
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服