网站大量收购独家精品文档,联系QQ:2885784924

嵌入式技术应用教程——SC4第五章.docVIP

  1. 1、本文档共8页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  5. 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  6. 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  7. 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  8. 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
嵌入式技术应用教程——SC4第五章

第五章 中断 中断是指计算机在执行程序的过程中,当出现异常情况或特殊请求时,计算机停止现行程序的运行,转向对这些异常情况或特殊请求的处理,处理结束后再返回现行程序的间断处,继续执行原程序。 实时地处理内部或外部事件的一种机制。 S3C2410A中有56个中断源,这些中断源分别为: 表 5.1 中断源 具体描述 INT_ADC ADC EOC中断和Touch中断,INT_ADC/INT_TC INT_RTC RTC报警中断 INT_SPI1 SPI1中断 INT_UART0 通用异步收发器0的ERR(错误)中断、RXD和TXD中断 INT_UART1 通用异步收发器1的ERR(错误)中断、RXD和TXD中断 INT_UART2 通用异步收发器2的ERR(错误)中断、RXD和TXD中断 INT_USBH USB主机中断 INT_USBD USB设备中断 INT_SPI0 SPI0中断 INT_SDI SDI中断 INT_DMA DMA0~3中断 INT_LCD LCD中断 INT_IIC I2C中断 INT_TIMER 定时器0~4中断 INT_WDT 看门狗定时器中断 INT_TICK RTC实时时钟节拍中断 nBATT_FLT 电池错误中断 EINT 外部中断0~23 假如UART0的接收缓存收到了来自外部的数据,那么设备UART0要通知CPU已经收到数据,请示CPU进行下一步工作。那么UART0要通过什么方式告知CPU收到数据了呢?设想一下,UART是通用异步收发器的英文缩写,一般在ARM芯片与外部进行数据传输的时候并不是一直不断地进行数据交换,而是断断续续地进行数据通信,那么CPU不可能一直监视着UART设备。在UART设备不进行数据收发时,CPU可以去进行别的程序处理。一旦UART设备需要和外部进行数据传输的时候,比如收到了来自外部设备的一帧数据,此时CPU还在进行着别的程序处理,那么UART设备就要告知CPU收到数据了,需要对数据进行处理,UART会通过中断的方式通知CPU,打断CPU正在进行的工作,让CPU对UART收到的数据进行处理。此时CPU收到UART的中断通知,那么他会停下正在处理的工作,保存当前的数据,转向UART的数据处理程序(UART中断服务程序)对UART收到的数据进行处理,处理完毕后如果没有其他设备的中断请求,CPU会跳转回UART中断之前的程序,调出中断时保存的数据继续运行中断之前的程序。 S3C2410A是以ARM920T为内核的ARM,ARM920T内核有两种中断模式:FIQ和IRQ。IRQ全称为Interrupt Request即是中断请求的意思Interrupt Request,即是中断请求的意思模式是特权模式中的一种,同时也属于异常模式一类。用于高速数据传输或通道处理,在触发快速中断请求(FIQ)时进入。 5.1 S3C2410A中和中断相关的寄存器 1. SOURCE PENDIND REGISTER(SRCPND) 这个寄存器名称为中断源挂起寄存器。 该寄存器是32位寄存器,每一位都代表着相应的中断源是否发出中断请求。当其中某一位值为“1”时,表明其相应的中断源发出了中断请求,否则这个中断源没有发出中断请求。 比如,SRCPND[10]=1,则说明定时器0请求中断。 2. SUB SOURCE PENDING REGISTER(SUBSRCPND) 这个寄存器与SRCPND寄存器功能相同,只不过这个寄存器有效bit为11位。这个寄存器中主要是更细地列出了UART中具体的中断类型。 3. INTERRUPT PENDING REGISTER(INTPND) 这个寄存器名称为中断挂起寄存器。 该寄存器为32位寄存器,每一位都代表着相应的中断源是否发出中断请求。当其中某一位值为“1”时,表明其相应的中断源发出了中断请求,否则这个中断源没有发出中断请求。这个寄存器的每一位功能描述和寄存器SRCPND是相同的。 4. INTERRUPT MASK REGISTER(INTMSK) 这个寄存器名称为中断屏蔽寄存器。 该寄存器为32位寄存器,每一位都代表着相应的中断源是否可用。当其中某一位值为“1”时,表明其相应的中断源被屏蔽掉了,反之相应中断源是可用的。 下面对上述三个寄存器进行说明。S3C2410A中有两个中断挂起寄存器分别为SRCPND和INTPND。这些寄存器指明了一个中断是否要被进行处理。当中断源请求中断服务时,SRCPND的相应bit位会被置位,同时INTPND中仅有与SRCPND相对应的一位数值在判决程序执行后被置位。如果中断被INTMSK寄存器所屏蔽,那么当有中断请求时,SRCPND的相应bit位会置位,而INTPND中与SRCPND相对应

您可能关注的文档

文档评论(0)

panguoxiang + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档